This Notebook is a continuation of DCGAN.ipynb

DCGAN.ipynb > CGAN.ipynb > WGAN.ipynb

In [ ]:
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
In [ ]:
!nvidia-smi
Sat Feb  4 19:36:45 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A100-SXM...  Off  | 00000000:00:04.0 Off |                    0 |
| N/A   31C    P0    52W / 400W |      0MiB / 40960MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

8. Conditional GAN¶

8.1 CGAN VS DCGAN¶

8.1.1 Recap of DCGAN¶

A GAN contains a generator and a discriminator. A discriminator can be like a Convolutional Neural Network that tries to determine whether an image is real or fake. While doing so, the discriminator leaves behind a gradient that the generator can use to improve its own output. The generator competes with the discriminator and generates images. However when exploring simple GANs and looking at the output I noticed that the images was difficult to interpret or it seemed like the images was a little bit of an airplane and a little bit of a car.

8.1.2 How CGAN or CDCGAN(Conditional Deep Convolutional GAN) can enhance output interpretability¶

CGAN is different from GAN where not only the pixels of real images are passed into the model , labels of each image is also passed in . As such the generator model generates images with a specific label CDCGAN contains additional Convolutional transpose layers in the generator and Convolutional layers in the Discriminator

image by Saul Dobilas https://towardsdatascience.com/cgan-conditional-generative-adversarial-network-how-to-gain-control-over-gan-outputs-b30620bd0cc8

8.2 Code implementation of CGANS¶

The Generator and discriminator of the CGANs are conditioned on additional information such as class labels.

Class Number Name
0 Airplane
1 Automobile
2 Bird
3 Cat
4 Deer
5 Dog
6 Frog
7 Horse
8 Ship
9 Truck

8.2.1 All required imports¶

In [ ]:
# DL modules
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import *
from tensorflow.keras import layers
from tensorflow.keras import Sequential, Model
import keras.backend as K
from tensorflow.keras import initializers
! pip install tensorflow_addons
from tensorflow_addons.layers import SpectralNormalization
from tensorflow.keras.optimizers import Adam

# relevent libraries 
import numpy as np 
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import os

## matplotlib stylings
plt.rcParams['figure.figsize'] = 12, 8
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting tensorflow_addons
  Downloading tensorflow_addons-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 21.1 MB/s eta 0:00:00
Requirement already satisfied: typeguard>=2.7 in /usr/local/lib/python3.8/dist-packages (from tensorflow_addons) (2.7.1)
Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from tensorflow_addons) (23.0)
Installing collected packages: tensorflow_addons
Successfully installed tensorflow_addons-0.19.0

8.2.2 Constants and hyperparams¶

In [ ]:
batch_size = 128
num_channels = 3
num_classes = 10
image_size = 32
latent_dim = 128
In [ ]:
# We'll use all the available examples from both the training and test
# sets.
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
all_digits = np.concatenate([x_train, x_test])
all_labels = np.concatenate([y_train, y_test])

8.2.3 Conditional GAN takes in labels as the datasets¶

  • Converting numpy array to tensor with batch size of 128
In [ ]:
# Scale the pixel values to [0, 1] range, add a channel dimension to
# the images, and one-hot encode the labels.
all_digits = all_digits.astype("float32") / 127.5 - 1
all_digits = np.reshape(all_digits, (-1, 32, 32, 3))
all_labels = keras.utils.to_categorical(all_labels, 10)

# Create tf.data.Dataset.
dataset = tf.data.Dataset.from_tensor_slices((all_digits, all_labels))
dataset = dataset.shuffle(buffer_size=1024).batch(batch_size)

print(f"Shape of training images: {all_digits.shape}")
print(f"Shape of training labels: {all_labels.shape}")
Shape of training images: (60000, 32, 32, 3)
Shape of training labels: (60000, 10)
In [ ]:
# plot some images
plt.figure(figsize=(10, 10))
for i in range(25):
    plt.subplot(5, 5, i + 1)
    plt.imshow((all_digits[i] + 1) / 2)
    plt.axis("off")
plt.show()

8.2.4 Conditioning the CGAN to be able to produce class images¶

We try to add the latent dimensions and the number of classes in the image so that we can condition the generator to be able to generate images based on classes. This is also true for the discriminator such that the discriminator that distinguish whether an image is fake and also the class of it.

In [ ]:
generator_in_channels = latent_dim + num_classes
discriminator_in_channels = num_channels + num_classes
print(generator_in_channels, discriminator_in_channels)
138 13

8.2.5 First touch of CGAN with improved methods from DCGAN¶

  • [x] LEAKY RELU FOR GENERATOR ( test hypothesis again )
  • [x] Spectral normalization
In [ ]:
# Create the discriminator.
discriminator = keras.Sequential(
    [
        keras.layers.InputLayer((32, 32, discriminator_in_channels)),
        SpectralNormalization(
        layers.Conv2D(32, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.LeakyReLU(alpha=0.2),

        SpectralNormalization(
        layers.Conv2D(64, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.LeakyReLU(alpha=0.2),
        SpectralNormalization(
        layers.Conv2D(128, kernel_size=4 , strides=2, padding="same"),
        ),
        SpectralNormalization(
        layers.Conv2D(256, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.LeakyReLU(alpha=0.2),
        layers.GlobalMaxPooling2D(),
        layers.Dense(1, activation='sigmoid'),
    ],
    name="discriminator",
)
In [ ]:
discriminator.summary()
Model: "discriminator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 spectral_normalization_15 (  (None, 16, 16, 32)       6720      
 SpectralNormalization)                                          
                                                                 
 leaky_re_lu_15 (LeakyReLU)  (None, 16, 16, 32)        0         
                                                                 
 spectral_normalization_16 (  (None, 8, 8, 64)         32896     
 SpectralNormalization)                                          
                                                                 
 leaky_re_lu_16 (LeakyReLU)  (None, 8, 8, 64)          0         
                                                                 
 spectral_normalization_17 (  (None, 4, 4, 128)        131328    
 SpectralNormalization)                                          
                                                                 
 spectral_normalization_18 (  (None, 2, 2, 256)        524800    
 SpectralNormalization)                                          
                                                                 
 leaky_re_lu_17 (LeakyReLU)  (None, 2, 2, 256)         0         
                                                                 
 global_max_pooling2d_4 (Glo  (None, 256)              0         
 balMaxPooling2D)                                                
                                                                 
 dense_15 (Dense)            (None, 1)                 257       
                                                                 
=================================================================
Total params: 696,001
Trainable params: 695,521
Non-trainable params: 480
_________________________________________________________________
In [ ]:
# Create the generator.
generator = keras.Sequential(
    [
        keras.layers.InputLayer((generator_in_channels,)),
        # We want to generate 128 + num_classes coefficients to reshape into a
        # 7x7x(128 + num_classes) map.
        layers.Dense(8 * 8 * generator_in_channels),
        layers.LeakyReLU(alpha=0.2),
        layers.Reshape((8, 8, generator_in_channels)),
        layers.Conv2DTranspose(128, (4, 4), strides=(2, 2), padding="same"),
        layers.LeakyReLU(alpha=0.2),
        layers.Conv2DTranspose(128, (4, 4), strides=(2, 2), padding="same"),
        layers.LeakyReLU(alpha=0.2),
        layers.Conv2D(3, (8, 8), padding="same", activation="tanh"),
    ],
    name="generator",
)
generator.summary()
Model: "generator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_14 (Dense)            (None, 8832)              1227648   
                                                                 
 leaky_re_lu_12 (LeakyReLU)  (None, 8832)              0         
                                                                 
 reshape_10 (Reshape)        (None, 8, 8, 138)         0         
                                                                 
 conv2d_transpose_38 (Conv2D  (None, 16, 16, 128)      282752    
 Transpose)                                                      
                                                                 
 leaky_re_lu_13 (LeakyReLU)  (None, 16, 16, 128)       0         
                                                                 
 conv2d_transpose_39 (Conv2D  (None, 32, 32, 128)      262272    
 Transpose)                                                      
                                                                 
 leaky_re_lu_14 (LeakyReLU)  (None, 32, 32, 128)       0         
                                                                 
 conv2d_25 (Conv2D)          (None, 32, 32, 3)         24579     
                                                                 
=================================================================
Total params: 1,797,251
Trainable params: 1,797,251
Non-trainable params: 0
_________________________________________________________________

8.2.6 Classes¶

In [ ]:
class ConditionalGAN(keras.Model):
    def __init__(self, discriminator, generator, latent_dim):
        super().__init__()
        self.discriminator = discriminator
        self.generator = generator
        self.latent_dim = latent_dim
        self.gen_loss_tracker = keras.metrics.Mean(name="generator_loss")
        self.disc_loss_tracker = keras.metrics.Mean(name="discriminator_loss")

    @property
    def metrics(self):
        return [self.gen_loss_tracker, self.disc_loss_tracker]

    def compile(self, d_optimizer, g_optimizer, loss_fn):
        super().compile()
        self.d_optimizer = d_optimizer
        self.g_optimizer = g_optimizer
        self.loss_fn = loss_fn
        


    def train_step(self, data):
        # Unpack the data.
        real_images, one_hot_labels = data

        # Add dummy dimensions to the labels so that they can be concatenated with
        # the images. This is for the discriminator.
        image_one_hot_labels = one_hot_labels[:, :, None, None]
        image_one_hot_labels = tf.repeat(
            image_one_hot_labels, repeats=[image_size * image_size]
        )
        image_one_hot_labels = tf.reshape(
            image_one_hot_labels, (-1, image_size, image_size, num_classes)
        )

        # Sample random points in the latent space and concatenate the labels.
        # This is for the generator.
        batch_size = tf.shape(real_images)[0]
        random_latent_vectors = tf.random.normal(shape=(batch_size, self.latent_dim))
        random_vector_labels = tf.concat(
            [random_latent_vectors, one_hot_labels], axis=1
        )

        # Decode the noise (guided by labels) to fake images.
        generated_images = self.generator(random_vector_labels)

        # Combine them with real images. Note that we are concatenating the labels
        # with these images here.
        fake_image_and_labels = tf.concat([generated_images, image_one_hot_labels], -1)
        real_image_and_labels = tf.concat([real_images, image_one_hot_labels], -1)
        combined_images = tf.concat(
            [fake_image_and_labels, real_image_and_labels], axis=0
        )

        # Assemble labels discriminating real from fake images.
        labels = tf.concat(
            [tf.ones((batch_size, 1)), tf.zeros((batch_size, 1))], axis=0
        )

        # Train the discriminator.
        with tf.GradientTape() as tape:
            predictions = self.discriminator(combined_images)
            d_loss = self.loss_fn(labels, predictions)
        grads = tape.gradient(d_loss, self.discriminator.trainable_weights)
        self.d_optimizer.apply_gradients(
            zip(grads, self.discriminator.trainable_weights)
        )

        # Sample random points in the latent space.
        random_latent_vectors = tf.random.normal(shape=(batch_size, self.latent_dim))
        random_vector_labels = tf.concat(
            [random_latent_vectors, one_hot_labels], axis=1
        )

        # Assemble labels that say "all real images".
        misleading_labels = tf.zeros((batch_size, 1))

        # Train the generator (note that we should *not* update the weights
        # of the discriminator)!
        with tf.GradientTape() as tape:
            fake_images = self.generator(random_vector_labels)
            fake_image_and_labels = tf.concat([fake_images, image_one_hot_labels], -1)
            predictions = self.discriminator(fake_image_and_labels)
            g_loss = self.loss_fn(misleading_labels, predictions)
        grads = tape.gradient(g_loss, self.generator.trainable_weights)
        self.g_optimizer.apply_gradients(zip(grads, self.generator.trainable_weights))

        # Monitor loss.
        self.gen_loss_tracker.update_state(g_loss)
        self.disc_loss_tracker.update_state(d_loss)
        return {
            "g_loss": self.gen_loss_tracker.result(),
            "d_loss": self.disc_loss_tracker.result(),
        }
In [ ]:
class CONDGANMonitor(keras.callbacks.Callback):
    def __init__(self, num_img=100, latent_dim=128,generator=0):
        self.num_img = num_img
        self.latent_dim = latent_dim
        self.vmin = 0
        self.vmax = 1

    def on_epoch_end(self, epoch, logs=None):
        class_labels = ["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"]
        if epoch % 50 == 0:
            # Save the model weights
            tf.keras.models.save_model(generator, '/content/drive/MyDrive/Colab Notebooks/DELE_CA2/Models/DCGAN/final_DCGANgen.h5')
            # self.model.save_weights(f"/content/drive/MyDrive/Colab Notebooks/DELE_CA2/Models/CGAN/finalmodel_weights_epoch_{epoch + 1}.h5")
            
            # Plot the generated images
            num_classes = 10
            fig, axs = plt.subplots(num_classes, 10, figsize=(10, num_classes))

            for i in range(num_classes):
                class_label = keras.utils.to_categorical([i], num_classes)
                class_label = tf.cast(class_label, tf.float32)

                # Generate 10 random noise vectors
                random_noise = tf.random.normal(shape=(10, self.latent_dim))
                # Repeat the class label for each noise vector
                class_label = tf.repeat(class_label, repeats=10, axis=0)
                # Concatenate the noise and class label
                noise_and_label = tf.concat([random_noise, class_label], axis=1)
                # Run inference with the generator
                fake_images = self.model.generator(noise_and_label)
                fake_images -= 1
                fake_images /= 1
                

                # fake_images = tf.image.convert_image_dtype(fake_images, dtype=tf.float32, saturate=True)
                
                # Plot the generated images
                for j in range(10):
                    img = keras.preprocessing.image.array_to_img(fake_images[j])
                    axs[i, j].imshow(img)
                    axs[i, j].set_title(class_labels[i])
                    axs[i, j].axis("off")
            plt.show()

8.2.7 What is from_logits?¶

logit is a type of function that maps probability from (0,1) to ( - inifinity , inifinity ) since I am using Sigmoid activation for Discriminator i will be setting from_logits to False

In [ ]:
cond_gan = ConditionalGAN(
    discriminator=discriminator, generator=generator, latent_dim=128
)
cond_gan.compile(
    d_optimizer=keras.optimizers.Adam(learning_rate=0.0003),
    g_optimizer=keras.optimizers.Adam(learning_rate=0.0003),
    loss_fn=keras.losses.BinaryCrossentropy(from_logits=False),
)

con_hist = cond_gan.fit(dataset, epochs=500, callbacks=[CONDGANMonitor(num_img=100, latent_dim=128)])
Epoch 1/500
469/469 [==============================] - 32s 65ms/step - g_loss: 2.5748 - d_loss: 0.7390
Epoch 2/500
468/469 [============================>.] - ETA: 0s - g_loss: 3.2424 - d_loss: 0.4489
469/469 [==============================] - 31s 66ms/step - g_loss: 3.2433 - d_loss: 0.4490
Epoch 3/500
469/469 [==============================] - 30s 63ms/step - g_loss: 1.5572 - d_loss: 0.5313
Epoch 4/500
469/469 [==============================] - 30s 64ms/step - g_loss: 2.1542 - d_loss: 0.4961
Epoch 5/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.6244 - d_loss: 0.5708
Epoch 6/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.6355 - d_loss: 0.5787
Epoch 7/500
469/469 [==============================] - 31s 65ms/step - g_loss: 1.8072 - d_loss: 0.7063
Epoch 8/500
469/469 [==============================] - 31s 65ms/step - g_loss: 1.8938 - d_loss: 0.5365
Epoch 9/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.3063 - d_loss: 0.5735
Epoch 10/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.9733 - d_loss: 0.5438
Epoch 11/500
469/469 [==============================] - 31s 66ms/step - g_loss: 3.1071 - d_loss: 0.4692
Epoch 12/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.2592 - d_loss: 0.5639
Epoch 13/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.6841 - d_loss: 0.5902
Epoch 14/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.8386 - d_loss: 0.6068
Epoch 15/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.0518 - d_loss: 0.6455
Epoch 16/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.2930 - d_loss: 0.6596
Epoch 17/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.5129 - d_loss: 0.6231
Epoch 18/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.4004 - d_loss: 0.5881
Epoch 19/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.2480 - d_loss: 0.6412
Epoch 20/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.0937 - d_loss: 0.6156
Epoch 21/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.8643 - d_loss: 0.6647
Epoch 22/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.4884 - d_loss: 0.6188
Epoch 23/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.5896 - d_loss: 0.5323
Epoch 24/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.4624 - d_loss: 0.5852
Epoch 25/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.2889 - d_loss: 0.6373
Epoch 26/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0778 - d_loss: 0.6703
Epoch 27/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.2800 - d_loss: 0.6577
Epoch 28/500
469/469 [==============================] - 30s 63ms/step - g_loss: 1.4507 - d_loss: 0.6001
Epoch 29/500
469/469 [==============================] - 30s 63ms/step - g_loss: 1.4553 - d_loss: 0.6230
Epoch 30/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2157 - d_loss: 0.6063
Epoch 31/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2933 - d_loss: 0.6112
Epoch 32/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.7231 - d_loss: 0.5880
Epoch 33/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.3563 - d_loss: 0.6291
Epoch 34/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1785 - d_loss: 0.6291
Epoch 35/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.4564 - d_loss: 0.6526
Epoch 36/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0682 - d_loss: 0.6396
Epoch 37/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2467 - d_loss: 0.6366
Epoch 38/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2528 - d_loss: 0.6424
Epoch 39/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2712 - d_loss: 0.6583
Epoch 40/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2363 - d_loss: 0.6464
Epoch 41/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.3939 - d_loss: 0.6094
Epoch 42/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2085 - d_loss: 0.6505
Epoch 43/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1332 - d_loss: 0.7253
Epoch 44/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2477 - d_loss: 0.6606
Epoch 45/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1430 - d_loss: 0.6931
Epoch 46/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0633 - d_loss: 0.6925
Epoch 47/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2437 - d_loss: 0.6531
Epoch 48/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9982 - d_loss: 0.6242
Epoch 49/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2499 - d_loss: 0.6750
Epoch 50/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0597 - d_loss: 0.6142
Epoch 51/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0214 - d_loss: 0.6563
Epoch 52/500
469/469 [==============================] - 29s 62ms/step - g_loss: 2.5056 - d_loss: 0.6448
Epoch 53/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1529 - d_loss: 0.6487
Epoch 54/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2820 - d_loss: 0.6681
Epoch 55/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0876 - d_loss: 0.6214
Epoch 56/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0108 - d_loss: 0.6619
Epoch 57/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2736 - d_loss: 0.6838
Epoch 58/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2120 - d_loss: 0.6904
Epoch 59/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.7041 - d_loss: 0.6691
Epoch 60/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0308 - d_loss: 0.6399
Epoch 61/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.4339 - d_loss: 0.6551
Epoch 62/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1791 - d_loss: 0.6584
Epoch 63/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2118 - d_loss: 0.6505
Epoch 64/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2520 - d_loss: 0.6206
Epoch 65/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2695 - d_loss: 0.6596
Epoch 66/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.4408 - d_loss: 0.6739
Epoch 67/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2648 - d_loss: 0.6669
Epoch 68/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2673 - d_loss: 0.6763
Epoch 69/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2625 - d_loss: 0.6861
Epoch 70/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0483 - d_loss: 0.6822
Epoch 71/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0664 - d_loss: 0.7015
Epoch 72/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0084 - d_loss: 0.6351
Epoch 73/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.3474 - d_loss: 0.7115
Epoch 74/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9825 - d_loss: 0.6724
Epoch 75/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1624 - d_loss: 0.6217
Epoch 76/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2071 - d_loss: 0.6694
Epoch 77/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1885 - d_loss: 0.6333
Epoch 78/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1189 - d_loss: 0.6193
Epoch 79/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.4141 - d_loss: 0.6432
Epoch 80/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1124 - d_loss: 0.6595
Epoch 81/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1269 - d_loss: 0.6781
Epoch 82/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2940 - d_loss: 0.6073
Epoch 83/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1051 - d_loss: 0.7107
Epoch 84/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2156 - d_loss: 0.6800
Epoch 85/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1016 - d_loss: 0.6025
Epoch 86/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2859 - d_loss: 0.6614
Epoch 87/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1656 - d_loss: 0.6522
Epoch 88/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0048 - d_loss: 0.6369
Epoch 89/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2100 - d_loss: 0.6506
Epoch 90/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.4153 - d_loss: 0.6282
Epoch 91/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.3949 - d_loss: 0.6293
Epoch 92/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2153 - d_loss: 0.6340
Epoch 93/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0294 - d_loss: 0.6380
Epoch 94/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0552 - d_loss: 0.6001
Epoch 95/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1166 - d_loss: 0.6287
Epoch 96/500
469/469 [==============================] - 29s 61ms/step - g_loss: 0.9448 - d_loss: 0.6611
Epoch 97/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0431 - d_loss: 0.7509
Epoch 98/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0750 - d_loss: 0.6858
Epoch 99/500
469/469 [==============================] - 29s 61ms/step - g_loss: 0.9663 - d_loss: 0.6698
Epoch 100/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.5134 - d_loss: 0.6156
Epoch 101/500
469/469 [==============================] - 29s 61ms/step - g_loss: 0.9494 - d_loss: 0.7379
Epoch 102/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1367 - d_loss: 0.6523
Epoch 103/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2171 - d_loss: 0.6305
Epoch 104/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1237 - d_loss: 0.6524
Epoch 105/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1529 - d_loss: 0.6631
Epoch 106/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2568 - d_loss: 0.6253
Epoch 107/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0935 - d_loss: 0.6947
Epoch 108/500
469/469 [==============================] - 29s 61ms/step - g_loss: 0.9868 - d_loss: 0.6491
Epoch 109/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2971 - d_loss: 0.6612
Epoch 110/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9946 - d_loss: 0.6839
Epoch 111/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1197 - d_loss: 0.7165
Epoch 112/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1527 - d_loss: 0.6888
Epoch 113/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0372 - d_loss: 0.6242
Epoch 114/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1247 - d_loss: 0.6829
Epoch 115/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1177 - d_loss: 0.6372
Epoch 116/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2225 - d_loss: 0.6778
Epoch 117/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0861 - d_loss: 0.6122
Epoch 118/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1619 - d_loss: 0.6536
Epoch 119/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0808 - d_loss: 0.6412
Epoch 120/500
469/469 [==============================] - 29s 61ms/step - g_loss: 0.9751 - d_loss: 0.6512
Epoch 121/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9658 - d_loss: 0.6581
Epoch 122/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1793 - d_loss: 0.6557
Epoch 123/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2395 - d_loss: 0.6659
Epoch 124/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0807 - d_loss: 0.6186
Epoch 125/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1746 - d_loss: 0.6183
Epoch 126/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2166 - d_loss: 0.6219
Epoch 127/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1416 - d_loss: 0.6029
Epoch 128/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.4293 - d_loss: 0.6989
Epoch 129/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.4114 - d_loss: 0.6587
Epoch 130/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0954 - d_loss: 0.6192
Epoch 131/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.6392 - d_loss: 0.5806
Epoch 132/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3736 - d_loss: 0.6016
Epoch 133/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3163 - d_loss: 0.5674
Epoch 134/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.4069 - d_loss: 0.6261
Epoch 135/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3511 - d_loss: 0.5846
Epoch 136/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3544 - d_loss: 0.5710
Epoch 137/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.4034 - d_loss: 0.6200
Epoch 138/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2965 - d_loss: 0.6011
Epoch 139/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1740 - d_loss: 0.6278
Epoch 140/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1208 - d_loss: 0.6275
Epoch 141/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0921 - d_loss: 0.6645
Epoch 142/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2142 - d_loss: 0.6096
Epoch 143/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1653 - d_loss: 0.5884
Epoch 144/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1613 - d_loss: 0.6278
Epoch 145/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2431 - d_loss: 0.5755
Epoch 146/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0998 - d_loss: 0.6300
Epoch 147/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1860 - d_loss: 0.6041
Epoch 148/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2014 - d_loss: 0.6316
Epoch 149/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2250 - d_loss: 0.5942
Epoch 150/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0708 - d_loss: 0.6155
Epoch 151/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1233 - d_loss: 0.6412
Epoch 152/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1461 - d_loss: 0.6399
Epoch 153/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2068 - d_loss: 0.6001
Epoch 154/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1975 - d_loss: 0.6179
Epoch 155/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0919 - d_loss: 0.6200
Epoch 156/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0775 - d_loss: 0.6038
Epoch 157/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1558 - d_loss: 0.6381
Epoch 158/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.2677 - d_loss: 0.6270
Epoch 159/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0241 - d_loss: 0.6214
Epoch 160/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1969 - d_loss: 0.6115
Epoch 161/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0703 - d_loss: 0.6267
Epoch 162/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1768 - d_loss: 0.6138
Epoch 163/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1277 - d_loss: 0.6171
Epoch 164/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9460 - d_loss: 0.6483
Epoch 165/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3630 - d_loss: 0.6449
Epoch 166/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0458 - d_loss: 0.6168
Epoch 167/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2076 - d_loss: 0.5920
Epoch 168/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3258 - d_loss: 0.6243
Epoch 169/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0003 - d_loss: 0.6210
Epoch 170/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0412 - d_loss: 0.6172
Epoch 171/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3498 - d_loss: 0.6162
Epoch 172/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0600 - d_loss: 0.6324
Epoch 173/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0487 - d_loss: 0.5938
Epoch 174/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3312 - d_loss: 0.6318
Epoch 175/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2548 - d_loss: 0.6591
Epoch 176/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2532 - d_loss: 0.6128
Epoch 177/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1944 - d_loss: 0.6682
Epoch 178/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9803 - d_loss: 0.6127
Epoch 179/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2363 - d_loss: 0.6033
Epoch 180/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1815 - d_loss: 0.6252
Epoch 181/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2046 - d_loss: 0.6297
Epoch 182/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1660 - d_loss: 0.5873
Epoch 183/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2528 - d_loss: 0.6434
Epoch 184/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1003 - d_loss: 0.6198
Epoch 185/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2695 - d_loss: 0.5980
Epoch 186/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1954 - d_loss: 0.5599
Epoch 187/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1703 - d_loss: 0.6024
Epoch 188/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0782 - d_loss: 0.6068
Epoch 189/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3979 - d_loss: 0.6731
Epoch 190/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0145 - d_loss: 0.6039
Epoch 191/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1637 - d_loss: 0.5895
Epoch 192/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1626 - d_loss: 0.6062
Epoch 193/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2904 - d_loss: 0.6347
Epoch 194/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0810 - d_loss: 0.5926
Epoch 195/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1230 - d_loss: 0.5827
Epoch 196/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.3168 - d_loss: 0.5943
Epoch 197/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2563 - d_loss: 0.6468
Epoch 198/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0763 - d_loss: 0.6046
Epoch 199/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2684 - d_loss: 0.6089
Epoch 200/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1765 - d_loss: 0.5994
Epoch 201/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.0043 - d_loss: 0.6340
Epoch 202/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.2710 - d_loss: 0.6035
Epoch 203/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1598 - d_loss: 0.6063
Epoch 204/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1042 - d_loss: 0.6035
Epoch 205/500
469/469 [==============================] - 29s 61ms/step - g_loss: 1.1020 - d_loss: 0.6249
Epoch 206/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9914 - d_loss: 0.6196
Epoch 207/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0914 - d_loss: 0.6136
Epoch 208/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0732 - d_loss: 0.6093
Epoch 209/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1021 - d_loss: 0.5883
Epoch 210/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1276 - d_loss: 0.6476
Epoch 211/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9357 - d_loss: 0.6425
Epoch 212/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0733 - d_loss: 0.6451
Epoch 213/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9743 - d_loss: 0.6936
Epoch 214/500
469/469 [==============================] - 29s 62ms/step - g_loss: 0.9775 - d_loss: 0.6763
Epoch 215/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.0743 - d_loss: 0.6550
Epoch 216/500
469/469 [==============================] - 29s 62ms/step - g_loss: 1.1067 - d_loss: 0.6293
Epoch 217/500
469/469 [==============================] - 30s 65ms/step - g_loss: 1.1021 - d_loss: 0.6183
Epoch 218/500
469/469 [==============================] - 31s 65ms/step - g_loss: 1.2435 - d_loss: 0.6153
Epoch 219/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0467 - d_loss: 0.6542
Epoch 220/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0166 - d_loss: 0.6395
Epoch 221/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.1732 - d_loss: 0.6587
Epoch 222/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0507 - d_loss: 0.6345
Epoch 223/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0224 - d_loss: 0.6199
Epoch 224/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.1198 - d_loss: 0.6275
Epoch 225/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0196 - d_loss: 0.6522
Epoch 226/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0951 - d_loss: 0.5968
Epoch 227/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.1104 - d_loss: 0.6262
Epoch 228/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0295 - d_loss: 0.6139
Epoch 229/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.1992 - d_loss: 0.6534
Epoch 230/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0255 - d_loss: 0.6212
Epoch 231/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0062 - d_loss: 0.6153
Epoch 232/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.1987 - d_loss: 0.6509
Epoch 233/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.0113 - d_loss: 0.6477
Epoch 234/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.3565 - d_loss: 0.6513
Epoch 235/500
469/469 [==============================] - 30s 64ms/step - g_loss: 0.9757 - d_loss: 0.6244
Epoch 236/500
469/469 [==============================] - 30s 65ms/step - g_loss: 1.0178 - d_loss: 0.6244
Epoch 237/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0986 - d_loss: 0.6093
Epoch 238/500
469/469 [==============================] - 30s 63ms/step - g_loss: 1.0219 - d_loss: 0.6363
Epoch 239/500
469/469 [==============================] - 30s 64ms/step - g_loss: 1.2610 - d_loss: 0.6355
Epoch 240/500
469/469 [==============================] - 31s 66ms/step - g_loss: 1.1867 - d_loss: 0.6412
Epoch 241/500
469/469 [==============================] - 31s 65ms/step - g_loss: 1.1613 - d_loss: 0.5954
Epoch 242/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1450 - d_loss: 0.6045
Epoch 243/500
469/469 [==============================] - 31s 67ms/step - g_loss: 0.9961 - d_loss: 0.6302
Epoch 244/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1190 - d_loss: 0.6053
Epoch 245/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.0823 - d_loss: 0.6227
Epoch 246/500
469/469 [==============================] - 32s 69ms/step - g_loss: 0.9860 - d_loss: 0.6178
Epoch 247/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.3416 - d_loss: 0.6834
Epoch 248/500
469/469 [==============================] - 32s 69ms/step - g_loss: 0.9616 - d_loss: 0.6244
Epoch 249/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.2432 - d_loss: 0.5942
Epoch 250/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.2114 - d_loss: 0.6198
Epoch 251/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.1337 - d_loss: 0.5973
Epoch 252/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0505 - d_loss: 0.6183
Epoch 253/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.1043 - d_loss: 0.6104
Epoch 254/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1428 - d_loss: 0.6218
Epoch 255/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0686 - d_loss: 0.6242
Epoch 256/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0603 - d_loss: 0.6065
Epoch 257/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.1076 - d_loss: 0.6240
Epoch 258/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0720 - d_loss: 0.6006
Epoch 259/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0726 - d_loss: 0.6260
Epoch 260/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.0388 - d_loss: 0.6582
Epoch 261/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0563 - d_loss: 0.6182
Epoch 262/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.1997 - d_loss: 0.6703
Epoch 263/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.0343 - d_loss: 0.6006
Epoch 264/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1457 - d_loss: 0.6135
Epoch 265/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0964 - d_loss: 0.6181
Epoch 266/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.5886 - d_loss: 0.6213
Epoch 267/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0110 - d_loss: 0.6149
Epoch 268/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0735 - d_loss: 0.6025
Epoch 269/500
469/469 [==============================] - 34s 72ms/step - g_loss: 1.1784 - d_loss: 0.6053
Epoch 270/500
469/469 [==============================] - 33s 71ms/step - g_loss: 1.0148 - d_loss: 0.6062
Epoch 271/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0506 - d_loss: 0.6036
Epoch 272/500
469/469 [==============================] - 33s 71ms/step - g_loss: 1.0669 - d_loss: 0.5993
Epoch 273/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.1067 - d_loss: 0.6080
Epoch 274/500
469/469 [==============================] - 33s 71ms/step - g_loss: 0.9959 - d_loss: 0.6291
Epoch 275/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0815 - d_loss: 0.6019
Epoch 276/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0007 - d_loss: 0.6196
Epoch 277/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.0505 - d_loss: 0.6195
Epoch 278/500
469/469 [==============================] - 33s 71ms/step - g_loss: 1.0393 - d_loss: 0.6272
Epoch 279/500
469/469 [==============================] - 33s 71ms/step - g_loss: 1.1016 - d_loss: 0.6218
Epoch 280/500
469/469 [==============================] - 33s 71ms/step - g_loss: 1.0374 - d_loss: 0.6033
Epoch 281/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1515 - d_loss: 0.6227
Epoch 282/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0232 - d_loss: 0.6610
Epoch 283/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0071 - d_loss: 0.5931
Epoch 284/500
469/469 [==============================] - 33s 70ms/step - g_loss: 1.0213 - d_loss: 0.6109
Epoch 285/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.1038 - d_loss: 0.6253
Epoch 286/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.0006 - d_loss: 0.6009
Epoch 287/500
469/469 [==============================] - 32s 68ms/step - g_loss: 0.9800 - d_loss: 0.6192
Epoch 288/500
469/469 [==============================] - 32s 69ms/step - g_loss: 1.1458 - d_loss: 0.6035
Epoch 289/500
469/469 [==============================] - 32s 69ms/step - g_loss: 0.9618 - d_loss: 0.6311
Epoch 290/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0915 - d_loss: 0.6014
Epoch 291/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1534 - d_loss: 0.5888
Epoch 292/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0475 - d_loss: 0.6028
Epoch 293/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.1461 - d_loss: 0.5829
Epoch 294/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1142 - d_loss: 0.5844
Epoch 295/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1702 - d_loss: 0.6139
Epoch 296/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0573 - d_loss: 0.5924
Epoch 297/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1204 - d_loss: 0.5950
Epoch 298/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.0560 - d_loss: 0.5959
Epoch 299/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.2230 - d_loss: 0.5954
Epoch 300/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0828 - d_loss: 0.6034
Epoch 301/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.0961 - d_loss: 0.5767
Epoch 302/500
468/469 [============================>.] - ETA: 0s - g_loss: 1.1735 - d_loss: 0.5769
469/469 [==============================] - 34s 72ms/step - g_loss: 1.1736 - d_loss: 0.5769
Epoch 303/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1307 - d_loss: 0.5768
Epoch 304/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1041 - d_loss: 0.5796
Epoch 305/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1081 - d_loss: 0.5691
Epoch 306/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1321 - d_loss: 0.5708
Epoch 307/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1689 - d_loss: 0.5659
Epoch 308/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.1892 - d_loss: 0.5833
Epoch 309/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0565 - d_loss: 0.5787
Epoch 310/500
469/469 [==============================] - 32s 67ms/step - g_loss: 1.1730 - d_loss: 0.5617
Epoch 311/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.2826 - d_loss: 0.5889
Epoch 312/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.0920 - d_loss: 0.5663
Epoch 313/500
469/469 [==============================] - 32s 68ms/step - g_loss: 1.2078 - d_loss: 0.5535
Epoch 314/500
469/469 [==============================] - 31s 67ms/step - g_loss: 1.1778 - d_loss: 0.5499
Epoch 315/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.1863 - d_loss: 0.5527
Epoch 316/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2724 - d_loss: 0.5515
Epoch 317/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.1709 - d_loss: 0.5475
Epoch 318/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2941 - d_loss: 0.5429
Epoch 319/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.1992 - d_loss: 0.5395
Epoch 320/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.1586 - d_loss: 0.5450
Epoch 321/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2244 - d_loss: 0.5316
Epoch 322/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2656 - d_loss: 0.5265
Epoch 323/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2897 - d_loss: 0.5199
Epoch 324/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.2946 - d_loss: 0.5211
Epoch 325/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.3542 - d_loss: 0.5163
Epoch 326/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.3072 - d_loss: 0.5075
Epoch 327/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.3602 - d_loss: 0.5029
Epoch 328/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.3440 - d_loss: 0.4954
Epoch 329/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.3927 - d_loss: 0.4871
Epoch 330/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.4429 - d_loss: 0.4809
Epoch 331/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.4606 - d_loss: 0.4745
Epoch 332/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.5070 - d_loss: 0.4638
Epoch 333/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.5112 - d_loss: 0.4626
Epoch 334/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.5621 - d_loss: 0.4595
Epoch 335/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.5356 - d_loss: 0.4571
Epoch 336/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.5912 - d_loss: 0.4465
Epoch 337/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.6274 - d_loss: 0.4395
Epoch 338/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.6596 - d_loss: 0.4350
Epoch 339/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.6811 - d_loss: 0.4288
Epoch 340/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.7405 - d_loss: 0.4191
Epoch 341/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.7972 - d_loss: 0.4123
Epoch 342/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.8205 - d_loss: 0.4079
Epoch 343/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.7985 - d_loss: 0.4068
Epoch 344/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.8628 - d_loss: 0.3976
Epoch 345/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.9253 - d_loss: 0.3921
Epoch 346/500
469/469 [==============================] - 28s 60ms/step - g_loss: 1.9760 - d_loss: 0.3878
Epoch 347/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.0228 - d_loss: 0.3752
Epoch 348/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.0516 - d_loss: 0.3771
Epoch 349/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.1052 - d_loss: 0.3734
Epoch 350/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.1401 - d_loss: 0.3585
Epoch 351/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.1898 - d_loss: 0.3601
Epoch 352/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.2354 - d_loss: 0.3531
Epoch 353/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.2470 - d_loss: 0.3438
Epoch 354/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.3353 - d_loss: 0.3420
Epoch 355/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.3863 - d_loss: 0.3319
Epoch 356/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.4257 - d_loss: 0.3290
Epoch 357/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.5023 - d_loss: 0.3207
Epoch 358/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.5752 - d_loss: 0.3184
Epoch 359/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.4764 - d_loss: 0.3206
Epoch 360/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.5806 - d_loss: 0.3073
Epoch 361/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.6582 - d_loss: 0.3029
Epoch 362/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.7017 - d_loss: 0.2970
Epoch 363/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.7500 - d_loss: 0.2949
Epoch 364/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.9206 - d_loss: 0.2980
Epoch 365/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.8093 - d_loss: 0.2890
Epoch 366/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.8800 - d_loss: 0.2863
Epoch 367/500
469/469 [==============================] - 28s 60ms/step - g_loss: 2.9133 - d_loss: 0.2817
Epoch 368/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.1004 - d_loss: 0.2770
Epoch 369/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.0377 - d_loss: 0.2727
Epoch 370/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.0699 - d_loss: 0.2698
Epoch 371/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.1335 - d_loss: 0.2674
Epoch 372/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.2024 - d_loss: 0.2638
Epoch 373/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.2504 - d_loss: 0.2650
Epoch 374/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.2994 - d_loss: 0.2560
Epoch 375/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.3107 - d_loss: 0.2529
Epoch 376/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.3625 - d_loss: 0.2510
Epoch 377/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.4447 - d_loss: 0.2425
Epoch 378/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.5349 - d_loss: 0.2398
Epoch 379/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.5982 - d_loss: 0.2319
Epoch 380/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.5905 - d_loss: 0.2367
Epoch 381/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.6414 - d_loss: 0.2293
Epoch 382/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.6905 - d_loss: 0.2343
Epoch 383/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.7211 - d_loss: 0.2286
Epoch 384/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.8119 - d_loss: 0.2194
Epoch 385/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.8191 - d_loss: 0.2221
Epoch 386/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.9008 - d_loss: 0.2217
Epoch 387/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.9493 - d_loss: 0.2140
Epoch 388/500
469/469 [==============================] - 28s 60ms/step - g_loss: 3.9769 - d_loss: 0.2130
Epoch 389/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.0168 - d_loss: 0.2083
Epoch 390/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.0770 - d_loss: 0.2116
Epoch 391/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.1224 - d_loss: 0.2134
Epoch 392/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.1375 - d_loss: 0.2083
Epoch 393/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.1982 - d_loss: 0.2055
Epoch 394/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.2370 - d_loss: 0.2036
Epoch 395/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.2838 - d_loss: 0.1974
Epoch 396/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.3103 - d_loss: 0.1984
Epoch 397/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.3972 - d_loss: 0.1938
Epoch 398/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.3827 - d_loss: 0.1903
Epoch 399/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.4266 - d_loss: 0.1991
Epoch 400/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.4915 - d_loss: 0.1918
Epoch 401/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.5295 - d_loss: 0.1900
Epoch 402/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.6067 - d_loss: 0.1913
Epoch 403/500
469/469 [==============================] - 28s 60ms/step - g_loss: 4.6351 - d_loss: 0.1830
Epoch 404/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.7075 - d_loss: 0.1871
Epoch 405/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.7046 - d_loss: 0.1788
Epoch 406/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.7863 - d_loss: 0.1766
Epoch 407/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.8280 - d_loss: 0.1794
Epoch 408/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.8693 - d_loss: 0.1740
Epoch 409/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.8904 - d_loss: 0.1711
Epoch 410/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9235 - d_loss: 0.1682
Epoch 411/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9528 - d_loss: 0.1662
Epoch 412/500
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9925 - d_loss: 0.1748
Epoch 413/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0386 - d_loss: 0.1672
Epoch 414/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0522 - d_loss: 0.1645
Epoch 415/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1574 - d_loss: 0.1633
Epoch 416/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1639 - d_loss: 0.1641
Epoch 417/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2310 - d_loss: 0.1574
Epoch 418/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2588 - d_loss: 0.1588
Epoch 419/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2232 - d_loss: 0.1662
Epoch 420/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3058 - d_loss: 0.1601
Epoch 421/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3268 - d_loss: 0.1588
Epoch 422/500
469/469 [==============================] - 30s 64ms/step - g_loss: 5.3169 - d_loss: 0.1565
Epoch 423/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3742 - d_loss: 0.1631
Epoch 424/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4038 - d_loss: 0.1563
Epoch 425/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5055 - d_loss: 0.1582
Epoch 426/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4550 - d_loss: 0.1557
Epoch 427/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4797 - d_loss: 0.1504
Epoch 428/500
469/469 [==============================] - 28s 60ms/step - g_loss: 5.5150 - d_loss: 0.1554
Epoch 429/500
469/469 [==============================] - 28s 60ms/step - g_loss: 5.6590 - d_loss: 0.1530
Epoch 430/500
469/469 [==============================] - 28s 60ms/step - g_loss: 5.6772 - d_loss: 0.1480
Epoch 431/500
469/469 [==============================] - 28s 60ms/step - g_loss: 5.6843 - d_loss: 0.1492
Epoch 432/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6751 - d_loss: 0.1517
Epoch 433/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6943 - d_loss: 0.1550
Epoch 434/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7513 - d_loss: 0.1502
Epoch 435/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7608 - d_loss: 0.1473
Epoch 436/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8093 - d_loss: 0.1436
Epoch 437/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7821 - d_loss: 0.1386
Epoch 438/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8986 - d_loss: 0.1446
Epoch 439/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8643 - d_loss: 0.1403
Epoch 440/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9656 - d_loss: 0.1399
Epoch 441/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9405 - d_loss: 0.1394
Epoch 442/500
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9662 - d_loss: 0.1374
Epoch 443/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0750 - d_loss: 0.1427
Epoch 444/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1631 - d_loss: 0.1525
Epoch 445/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0768 - d_loss: 0.1356
Epoch 446/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0443 - d_loss: 0.1397
Epoch 447/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1179 - d_loss: 0.1378
Epoch 448/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0747 - d_loss: 0.1399
Epoch 449/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1458 - d_loss: 0.1386
Epoch 450/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1791 - d_loss: 0.1340
Epoch 451/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1180 - d_loss: 0.1350
Epoch 452/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2208 - d_loss: 0.1278
Epoch 453/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2315 - d_loss: 0.1333
Epoch 454/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2745 - d_loss: 0.1325
Epoch 455/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3232 - d_loss: 0.1259
Epoch 456/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3897 - d_loss: 0.1248
Epoch 457/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3596 - d_loss: 0.1267
Epoch 458/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4731 - d_loss: 0.1219
Epoch 459/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4635 - d_loss: 0.1275
Epoch 460/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4570 - d_loss: 0.1272
Epoch 461/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5171 - d_loss: 0.1235
Epoch 462/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5681 - d_loss: 0.1206
Epoch 463/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6889 - d_loss: 0.1205
Epoch 464/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6188 - d_loss: 0.1212
Epoch 465/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6443 - d_loss: 0.1183
Epoch 466/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6228 - d_loss: 0.1258
Epoch 467/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7083 - d_loss: 0.1221
Epoch 468/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6330 - d_loss: 0.1207
Epoch 469/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7022 - d_loss: 0.1217
Epoch 470/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7731 - d_loss: 0.1230
Epoch 471/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7932 - d_loss: 0.1236
Epoch 472/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7623 - d_loss: 0.1226
Epoch 473/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7413 - d_loss: 0.1210
Epoch 474/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7777 - d_loss: 0.1115
Epoch 475/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.8507 - d_loss: 0.1123
Epoch 476/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.9196 - d_loss: 0.1185
Epoch 477/500
469/469 [==============================] - 28s 60ms/step - g_loss: 6.9097 - d_loss: 0.1101
Epoch 478/500
469/469 [==============================] - 28s 60ms/step - g_loss: 6.9067 - d_loss: 0.1104
Epoch 479/500
469/469 [==============================] - 28s 60ms/step - g_loss: 6.9420 - d_loss: 0.1231
Epoch 480/500
469/469 [==============================] - 28s 60ms/step - g_loss: 6.9866 - d_loss: 0.1190
Epoch 481/500
469/469 [==============================] - 28s 60ms/step - g_loss: 6.9584 - d_loss: 0.1186
Epoch 482/500
469/469 [==============================] - 28s 60ms/step - g_loss: 7.0272 - d_loss: 0.1152
Epoch 483/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.0189 - d_loss: 0.1084
Epoch 484/500
469/469 [==============================] - 28s 59ms/step - g_loss: 6.9383 - d_loss: 0.1158
Epoch 485/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.0687 - d_loss: 0.1094
Epoch 486/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.0942 - d_loss: 0.1141
Epoch 487/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1188 - d_loss: 0.1124
Epoch 488/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1198 - d_loss: 0.1036
Epoch 489/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1202 - d_loss: 0.1160
Epoch 490/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.0597 - d_loss: 0.1135
Epoch 491/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1890 - d_loss: 0.1036
Epoch 492/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2254 - d_loss: 0.1014
Epoch 493/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2345 - d_loss: 0.1065
Epoch 494/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.3192 - d_loss: 0.1056
Epoch 495/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1879 - d_loss: 0.1095
Epoch 496/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2857 - d_loss: 0.1032
Epoch 497/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2520 - d_loss: 0.1044
Epoch 498/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.4426 - d_loss: 0.0992
Epoch 499/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.3361 - d_loss: 0.1006
Epoch 500/500
469/469 [==============================] - 28s 59ms/step - g_loss: 7.4492 - d_loss: 0.0953
In [ ]:
# story history object into dataframe
hist_df = pd.DataFrame(con_hist.history)

# using pandas dataframe to plot out learning curve
with plt.style.context('seaborn'):
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 8), tight_layout=True)
    hist_df.loc[:, ["d_loss", 'g_loss']].plot(ax=ax1, title=r'Learning Curve of Loss Function CE')
    plt.show()
In [ ]:
tf.keras.models.save_model(generator , "./generator_cgan3.h5")
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.
In [ ]:
tf.keras.models.save_model(discriminator , "./discriminator_cgan3.h5")
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.
In [ ]:
# load model and plot generated images with labels 
generator = tf.keras.models.load_model("./generator_cgan3.h5")
discriminator = tf.keras.models.load_model("./discriminator_cgan3.h5")
labels = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
random_noise = tf.random.normal(shape=(10, 128))
class_label = keras.utils.to_categorical([0], 10)
class_label = tf.cast(class_label, tf.float32)
class_label = tf.repeat(class_label, repeats=10, axis=0)
noise_and_label = tf.concat([random_noise, class_label], axis=1)
fake_images = generator(noise_and_label)
fake_images = tf.image.convert_image_dtype(fake_images, dtype=tf.float32, saturate=True)
fig, axs = plt.subplots(1, 10, figsize=(10, 1))
for j in range(10):
    axs[j].imshow(fake_images[j])
    axs[j].set_title(labels[j])
    axs[j].axis("off")
plt.show()

8.2.8 First CGAN Model Reflection¶

  • Model trained for 500 epochs
  • Model didn't really converge to a good result and the images generated is better than DCGAN perhaps due to the fact that the generator is conditioned on the class labels
In [ ]:
cond_gan2 = ConditionalGAN(
    discriminator=discriminator, generator=generator, latent_dim=128
)
cond_gan2.compile(
    d_optimizer=keras.optimizers.Adam(learning_rate=0.0001),
    g_optimizer=keras.optimizers.Adam(learning_rate=0.0001),
    loss_fn=keras.losses.BinaryCrossentropy(from_logits=False),
)

con_hist2 = cond_gan2.fit(dataset, epochs=1000, callbacks=[CONDGANMonitor(num_img=100, latent_dim=138)])
Epoch 1/1000
469/469 [==============================] - 29s 59ms/step - g_loss: 7.2806 - d_loss: 0.0968
Epoch 2/1000
468/469 [============================>.] - ETA: 0s - g_loss: 7.3500 - d_loss: 0.0911
469/469 [==============================] - 29s 63ms/step - g_loss: 7.3499 - d_loss: 0.0911
Epoch 3/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.3813 - d_loss: 0.0830
Epoch 4/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.4428 - d_loss: 0.0788
Epoch 5/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.5195 - d_loss: 0.0794
Epoch 6/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6054 - d_loss: 0.0762
Epoch 7/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6070 - d_loss: 0.0779
Epoch 8/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6992 - d_loss: 0.0698
Epoch 9/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.7475 - d_loss: 0.0698
Epoch 10/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.8132 - d_loss: 0.0700
Epoch 11/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.9379 - d_loss: 0.0686
Epoch 12/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.0012 - d_loss: 0.0702
Epoch 13/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.0286 - d_loss: 0.0656
Epoch 14/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.0387 - d_loss: 0.0664
Epoch 15/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.0484 - d_loss: 0.0642
Epoch 16/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.1628 - d_loss: 0.0679
Epoch 17/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.1262 - d_loss: 0.0614
Epoch 18/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.2860 - d_loss: 0.0604
Epoch 19/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.3172 - d_loss: 0.0649
Epoch 20/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.4073 - d_loss: 0.0603
Epoch 21/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5065 - d_loss: 0.0617
Epoch 22/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5178 - d_loss: 0.0613
Epoch 23/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5207 - d_loss: 0.0580
Epoch 24/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5567 - d_loss: 0.0548
Epoch 25/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5618 - d_loss: 0.0569
Epoch 26/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.6986 - d_loss: 0.0573
Epoch 27/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.7461 - d_loss: 0.0543
Epoch 28/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.7200 - d_loss: 0.0522
Epoch 29/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.8150 - d_loss: 0.0532
Epoch 30/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.9656 - d_loss: 0.0507
Epoch 31/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.8789 - d_loss: 0.0517
Epoch 32/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.9274 - d_loss: 0.0554
Epoch 33/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.0310 - d_loss: 0.0527
Epoch 34/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.9713 - d_loss: 0.0501
Epoch 35/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.0907 - d_loss: 0.0501
Epoch 36/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.1317 - d_loss: 0.0499
Epoch 37/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.2080 - d_loss: 0.0470
Epoch 38/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.2349 - d_loss: 0.0458
Epoch 39/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.2621 - d_loss: 0.0414
Epoch 40/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.3861 - d_loss: 0.0453
Epoch 41/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.3884 - d_loss: 0.0446
Epoch 42/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.4506 - d_loss: 0.0426
Epoch 43/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.5428 - d_loss: 0.0412
Epoch 44/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.5522 - d_loss: 0.0404
Epoch 45/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.5992 - d_loss: 0.0338
Epoch 46/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.6825 - d_loss: 0.0382
Epoch 47/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.8346 - d_loss: 0.0355
Epoch 48/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.8962 - d_loss: 0.0357
Epoch 49/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.0573 - d_loss: 0.0363
Epoch 50/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.1319 - d_loss: 0.0374
Epoch 51/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.3873 - d_loss: 0.0392
Epoch 52/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.6272 - d_loss: 0.0544
Epoch 53/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.2014 - d_loss: 0.0543
Epoch 54/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.2400 - d_loss: 0.0590
Epoch 55/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.2904 - d_loss: 0.0705
Epoch 56/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.4045 - d_loss: 0.0806
Epoch 57/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.1778 - d_loss: 0.0803
Epoch 58/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 10.3531 - d_loss: 0.0856
Epoch 59/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.6527 - d_loss: 0.1053
Epoch 60/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.4508 - d_loss: 0.1092
Epoch 61/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.3527 - d_loss: 0.1054
Epoch 62/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 9.1470 - d_loss: 0.1094
Epoch 63/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.8261 - d_loss: 0.1228
Epoch 64/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.7799 - d_loss: 0.1320
Epoch 65/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.6814 - d_loss: 0.1182
Epoch 66/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5746 - d_loss: 0.1234
Epoch 67/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.2348 - d_loss: 0.1541
Epoch 68/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.2073 - d_loss: 0.1417
Epoch 69/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.3819 - d_loss: 0.1401
Epoch 70/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.5086 - d_loss: 0.1361
Epoch 71/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 8.2303 - d_loss: 0.1524
Epoch 72/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.7880 - d_loss: 0.1596
Epoch 73/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6305 - d_loss: 0.1396
Epoch 74/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6288 - d_loss: 0.1492
Epoch 75/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.7561 - d_loss: 0.1525
Epoch 76/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.5506 - d_loss: 0.1577
Epoch 77/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6038 - d_loss: 0.1612
Epoch 78/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.6432 - d_loss: 0.1424
Epoch 79/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.4179 - d_loss: 0.1555
Epoch 80/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1561 - d_loss: 0.1639
Epoch 81/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2795 - d_loss: 0.1654
Epoch 82/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.0261 - d_loss: 0.1658
Epoch 83/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.4132 - d_loss: 0.1545
Epoch 84/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.2574 - d_loss: 0.1594
Epoch 85/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 7.1168 - d_loss: 0.1664
Epoch 86/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.8404 - d_loss: 0.1900
Epoch 87/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5135 - d_loss: 0.1831
Epoch 88/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3927 - d_loss: 0.1866
Epoch 89/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6183 - d_loss: 0.1778
Epoch 90/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5279 - d_loss: 0.1551
Epoch 91/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3045 - d_loss: 0.1824
Epoch 92/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2790 - d_loss: 0.1782
Epoch 93/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4606 - d_loss: 0.1618
Epoch 94/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4857 - d_loss: 0.1695
Epoch 95/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3293 - d_loss: 0.1651
Epoch 96/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3219 - d_loss: 0.1692
Epoch 97/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2601 - d_loss: 0.1728
Epoch 98/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0038 - d_loss: 0.1827
Epoch 99/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9246 - d_loss: 0.2001
Epoch 100/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8320 - d_loss: 0.1967
Epoch 101/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7747 - d_loss: 0.1884
Epoch 102/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9186 - d_loss: 0.1706
Epoch 103/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7886 - d_loss: 0.2000
Epoch 104/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8162 - d_loss: 0.1839
Epoch 105/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8899 - d_loss: 0.1696
Epoch 106/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9539 - d_loss: 0.1631
Epoch 107/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8343 - d_loss: 0.1797
Epoch 108/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0332 - d_loss: 0.1576
Epoch 109/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7992 - d_loss: 0.1664
Epoch 110/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6953 - d_loss: 0.1721
Epoch 111/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9190 - d_loss: 0.1584
Epoch 112/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6948 - d_loss: 0.1759
Epoch 113/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6091 - d_loss: 0.1863
Epoch 114/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6886 - d_loss: 0.1734
Epoch 115/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6252 - d_loss: 0.1837
Epoch 116/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5606 - d_loss: 0.1804
Epoch 117/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4291 - d_loss: 0.1902
Epoch 118/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5511 - d_loss: 0.1675
Epoch 119/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6379 - d_loss: 0.1669
Epoch 120/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5597 - d_loss: 0.1847
Epoch 121/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3821 - d_loss: 0.1893
Epoch 122/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3460 - d_loss: 0.1898
Epoch 123/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3890 - d_loss: 0.1799
Epoch 124/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6055 - d_loss: 0.1687
Epoch 125/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3721 - d_loss: 0.1840
Epoch 126/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4574 - d_loss: 0.1601
Epoch 127/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7532 - d_loss: 0.1612
Epoch 128/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4744 - d_loss: 0.1731
Epoch 129/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4976 - d_loss: 0.1867
Epoch 130/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2705 - d_loss: 0.2066
Epoch 131/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3130 - d_loss: 0.1726
Epoch 132/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3736 - d_loss: 0.1854
Epoch 133/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2893 - d_loss: 0.1790
Epoch 134/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1098 - d_loss: 0.1932
Epoch 135/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3785 - d_loss: 0.1765
Epoch 136/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2075 - d_loss: 0.1853
Epoch 137/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3235 - d_loss: 0.1782
Epoch 138/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3254 - d_loss: 0.1762
Epoch 139/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0640 - d_loss: 0.1910
Epoch 140/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3063 - d_loss: 0.1834
Epoch 141/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0702 - d_loss: 0.2079
Epoch 142/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2101 - d_loss: 0.1652
Epoch 143/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2404 - d_loss: 0.1682
Epoch 144/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3324 - d_loss: 0.1621
Epoch 145/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2818 - d_loss: 0.1734
Epoch 146/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3773 - d_loss: 0.1611
Epoch 147/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3066 - d_loss: 0.1740
Epoch 148/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2212 - d_loss: 0.1967
Epoch 149/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1301 - d_loss: 0.1942
Epoch 150/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1687 - d_loss: 0.1872
Epoch 151/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9384 - d_loss: 0.2034
Epoch 152/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1495 - d_loss: 0.1765
Epoch 153/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2170 - d_loss: 0.1647
Epoch 154/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1318 - d_loss: 0.1972
Epoch 155/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3150 - d_loss: 0.1663
Epoch 156/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3817 - d_loss: 0.1520
Epoch 157/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4246 - d_loss: 0.1548
Epoch 158/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3199 - d_loss: 0.1644
Epoch 159/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3431 - d_loss: 0.1745
Epoch 160/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1796 - d_loss: 0.1871
Epoch 161/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0700 - d_loss: 0.1939
Epoch 162/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0672 - d_loss: 0.1793
Epoch 163/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0097 - d_loss: 0.1897
Epoch 164/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2046 - d_loss: 0.1659
Epoch 165/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4261 - d_loss: 0.1543
Epoch 166/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2574 - d_loss: 0.1720
Epoch 167/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0421 - d_loss: 0.1801
Epoch 168/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0472 - d_loss: 0.1850
Epoch 169/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1217 - d_loss: 0.1850
Epoch 170/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0698 - d_loss: 0.1715
Epoch 171/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0710 - d_loss: 0.1866
Epoch 172/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0772 - d_loss: 0.1816
Epoch 173/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0735 - d_loss: 0.1845
Epoch 174/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1842 - d_loss: 0.1665
Epoch 175/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4089 - d_loss: 0.1614
Epoch 176/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1021 - d_loss: 0.1875
Epoch 177/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9703 - d_loss: 0.2005
Epoch 178/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9813 - d_loss: 0.1849
Epoch 179/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1214 - d_loss: 0.1690
Epoch 180/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2976 - d_loss: 0.1641
Epoch 181/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1007 - d_loss: 0.1721
Epoch 182/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9691 - d_loss: 0.1840
Epoch 183/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9194 - d_loss: 0.1904
Epoch 184/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1933 - d_loss: 0.1774
Epoch 185/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2800 - d_loss: 0.1728
Epoch 186/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3465 - d_loss: 0.1601
Epoch 187/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3369 - d_loss: 0.1727
Epoch 188/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0949 - d_loss: 0.1769
Epoch 189/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0523 - d_loss: 0.1849
Epoch 190/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0302 - d_loss: 0.1920
Epoch 191/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9352 - d_loss: 0.1981
Epoch 192/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0741 - d_loss: 0.1757
Epoch 193/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3234 - d_loss: 0.1502
Epoch 194/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2673 - d_loss: 0.1593
Epoch 195/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0119 - d_loss: 0.1810
Epoch 196/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1694 - d_loss: 0.1878
Epoch 197/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3567 - d_loss: 0.1586
Epoch 198/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2332 - d_loss: 0.1689
Epoch 199/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2637 - d_loss: 0.1680
Epoch 200/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1214 - d_loss: 0.1753
Epoch 201/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2208 - d_loss: 0.1683
Epoch 202/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3505 - d_loss: 0.1529
Epoch 203/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3731 - d_loss: 0.1580
Epoch 204/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1799 - d_loss: 0.1814
Epoch 205/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9585 - d_loss: 0.1919
Epoch 206/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1826 - d_loss: 0.1698
Epoch 207/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0228 - d_loss: 0.1944
Epoch 208/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3241 - d_loss: 0.1568
Epoch 209/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2711 - d_loss: 0.1635
Epoch 210/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4192 - d_loss: 0.1643
Epoch 211/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1816 - d_loss: 0.1829
Epoch 212/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0731 - d_loss: 0.1878
Epoch 213/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0663 - d_loss: 0.1833
Epoch 214/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0945 - d_loss: 0.1844
Epoch 215/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2139 - d_loss: 0.1739
Epoch 216/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4218 - d_loss: 0.1542
Epoch 217/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4800 - d_loss: 0.1494
Epoch 218/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3895 - d_loss: 0.1590
Epoch 219/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0576 - d_loss: 0.1955
Epoch 220/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9947 - d_loss: 0.1894
Epoch 221/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2454 - d_loss: 0.1643
Epoch 222/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2808 - d_loss: 0.1693
Epoch 223/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1722 - d_loss: 0.1699
Epoch 224/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2096 - d_loss: 0.1787
Epoch 225/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1114 - d_loss: 0.1779
Epoch 226/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1324 - d_loss: 0.1763
Epoch 227/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1910 - d_loss: 0.1831
Epoch 228/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2834 - d_loss: 0.1711
Epoch 229/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1523 - d_loss: 0.1798
Epoch 230/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1045 - d_loss: 0.1745
Epoch 231/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2607 - d_loss: 0.1685
Epoch 232/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 4.9621 - d_loss: 0.1973
Epoch 233/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2009 - d_loss: 0.1717
Epoch 234/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0975 - d_loss: 0.1773
Epoch 235/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3962 - d_loss: 0.1651
Epoch 236/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2280 - d_loss: 0.1667
Epoch 237/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3391 - d_loss: 0.1533
Epoch 238/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4587 - d_loss: 0.1459
Epoch 239/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1538 - d_loss: 0.1843
Epoch 240/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2242 - d_loss: 0.1753
Epoch 241/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2503 - d_loss: 0.1711
Epoch 242/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2907 - d_loss: 0.1537
Epoch 243/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3270 - d_loss: 0.1617
Epoch 244/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2617 - d_loss: 0.1699
Epoch 245/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1296 - d_loss: 0.1767
Epoch 246/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3758 - d_loss: 0.1559
Epoch 247/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2414 - d_loss: 0.1768
Epoch 248/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3186 - d_loss: 0.1656
Epoch 249/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2402 - d_loss: 0.1671
Epoch 250/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2856 - d_loss: 0.1715
Epoch 251/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3767 - d_loss: 0.1592
Epoch 252/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2912 - d_loss: 0.1616
Epoch 253/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.0407 - d_loss: 0.1871
Epoch 254/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3137 - d_loss: 0.1699
Epoch 255/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1965 - d_loss: 0.1742
Epoch 256/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3738 - d_loss: 0.1628
Epoch 257/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2281 - d_loss: 0.1671
Epoch 258/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4442 - d_loss: 0.1534
Epoch 259/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3862 - d_loss: 0.1647
Epoch 260/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2924 - d_loss: 0.1747
Epoch 261/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1689 - d_loss: 0.1841
Epoch 262/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2263 - d_loss: 0.1736
Epoch 263/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2544 - d_loss: 0.1683
Epoch 264/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4998 - d_loss: 0.1682
Epoch 265/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4199 - d_loss: 0.1445
Epoch 266/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3660 - d_loss: 0.1473
Epoch 267/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3484 - d_loss: 0.1721
Epoch 268/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1787 - d_loss: 0.1805
Epoch 269/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1838 - d_loss: 0.1701
Epoch 270/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4091 - d_loss: 0.1642
Epoch 271/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2055 - d_loss: 0.1763
Epoch 272/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3146 - d_loss: 0.1686
Epoch 273/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5990 - d_loss: 0.1524
Epoch 274/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5414 - d_loss: 0.1567
Epoch 275/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6116 - d_loss: 0.1489
Epoch 276/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6079 - d_loss: 0.1474
Epoch 277/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2241 - d_loss: 0.1891
Epoch 278/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2399 - d_loss: 0.1667
Epoch 279/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4015 - d_loss: 0.1525
Epoch 280/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4142 - d_loss: 0.1567
Epoch 281/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3608 - d_loss: 0.1779
Epoch 282/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1444 - d_loss: 0.1848
Epoch 283/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.1544 - d_loss: 0.1856
Epoch 284/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2351 - d_loss: 0.1615
Epoch 285/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6739 - d_loss: 0.1399
Epoch 286/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8143 - d_loss: 0.1394
Epoch 287/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6571 - d_loss: 0.1452
Epoch 288/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5223 - d_loss: 0.1542
Epoch 289/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2168 - d_loss: 0.1891
Epoch 290/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3881 - d_loss: 0.1583
Epoch 291/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4257 - d_loss: 0.1598
Epoch 292/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3676 - d_loss: 0.1604
Epoch 293/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6807 - d_loss: 0.1421
Epoch 294/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3905 - d_loss: 0.1701
Epoch 295/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5129 - d_loss: 0.1608
Epoch 296/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5283 - d_loss: 0.1508
Epoch 297/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5717 - d_loss: 0.1699
Epoch 298/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4784 - d_loss: 0.1658
Epoch 299/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4520 - d_loss: 0.1630
Epoch 300/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2932 - d_loss: 0.1888
Epoch 301/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5533 - d_loss: 0.1395
Epoch 302/1000
468/469 [============================>.] - ETA: 0s - g_loss: 5.4903 - d_loss: 0.1552
469/469 [==============================] - 30s 64ms/step - g_loss: 5.4903 - d_loss: 0.1552
Epoch 303/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7500 - d_loss: 0.1496
Epoch 304/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3841 - d_loss: 0.1883
Epoch 305/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5062 - d_loss: 0.1570
Epoch 306/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.2939 - d_loss: 0.1739
Epoch 307/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4079 - d_loss: 0.1653
Epoch 308/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5243 - d_loss: 0.1525
Epoch 309/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5411 - d_loss: 0.1543
Epoch 310/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4227 - d_loss: 0.1752
Epoch 311/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4404 - d_loss: 0.1525
Epoch 312/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3446 - d_loss: 0.1767
Epoch 313/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5157 - d_loss: 0.1498
Epoch 314/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6843 - d_loss: 0.1518
Epoch 315/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4806 - d_loss: 0.1695
Epoch 316/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6044 - d_loss: 0.1497
Epoch 317/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4524 - d_loss: 0.1551
Epoch 318/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4490 - d_loss: 0.1619
Epoch 319/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5072 - d_loss: 0.1650
Epoch 320/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9622 - d_loss: 0.1412
Epoch 321/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7885 - d_loss: 0.1471
Epoch 322/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4440 - d_loss: 0.1887
Epoch 323/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4115 - d_loss: 0.1710
Epoch 324/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5207 - d_loss: 0.1630
Epoch 325/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5404 - d_loss: 0.1623
Epoch 326/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4460 - d_loss: 0.1718
Epoch 327/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4058 - d_loss: 0.1742
Epoch 328/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6251 - d_loss: 0.1490
Epoch 329/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5264 - d_loss: 0.1627
Epoch 330/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5165 - d_loss: 0.1567
Epoch 331/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4868 - d_loss: 0.1695
Epoch 332/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5913 - d_loss: 0.1609
Epoch 333/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6794 - d_loss: 0.1491
Epoch 334/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4097 - d_loss: 0.1748
Epoch 335/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8051 - d_loss: 0.1407
Epoch 336/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5545 - d_loss: 0.1559
Epoch 337/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7334 - d_loss: 0.1390
Epoch 338/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7626 - d_loss: 0.1442
Epoch 339/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5390 - d_loss: 0.1657
Epoch 340/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5324 - d_loss: 0.1615
Epoch 341/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6227 - d_loss: 0.1540
Epoch 342/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7337 - d_loss: 0.1511
Epoch 343/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7647 - d_loss: 0.1376
Epoch 344/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8662 - d_loss: 0.1457
Epoch 345/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8122 - d_loss: 0.1535
Epoch 346/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7430 - d_loss: 0.1620
Epoch 347/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3815 - d_loss: 0.1691
Epoch 348/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4492 - d_loss: 0.1719
Epoch 349/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5849 - d_loss: 0.1590
Epoch 350/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5070 - d_loss: 0.1726
Epoch 351/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7085 - d_loss: 0.1461
Epoch 352/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9938 - d_loss: 0.1328
Epoch 353/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8223 - d_loss: 0.1504
Epoch 354/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4844 - d_loss: 0.1645
Epoch 355/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5831 - d_loss: 0.1613
Epoch 356/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4793 - d_loss: 0.1635
Epoch 357/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5113 - d_loss: 0.1659
Epoch 358/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5068 - d_loss: 0.1510
Epoch 359/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7643 - d_loss: 0.1476
Epoch 360/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9268 - d_loss: 0.1369
Epoch 361/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7148 - d_loss: 0.1424
Epoch 362/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7901 - d_loss: 0.1451
Epoch 363/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5594 - d_loss: 0.1697
Epoch 364/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5845 - d_loss: 0.1625
Epoch 365/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.4658 - d_loss: 0.1800
Epoch 366/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5140 - d_loss: 0.1615
Epoch 367/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6298 - d_loss: 0.1536
Epoch 368/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8006 - d_loss: 0.1470
Epoch 369/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8772 - d_loss: 0.1430
Epoch 370/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7667 - d_loss: 0.1563
Epoch 371/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3326 - d_loss: 0.1924
Epoch 372/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7861 - d_loss: 0.1379
Epoch 373/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9430 - d_loss: 0.1371
Epoch 374/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5706 - d_loss: 0.1494
Epoch 375/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8934 - d_loss: 0.1379
Epoch 376/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1028 - d_loss: 0.1312
Epoch 377/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0914 - d_loss: 0.1213
Epoch 378/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8783 - d_loss: 0.1544
Epoch 379/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6741 - d_loss: 0.1586
Epoch 380/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5164 - d_loss: 0.1663
Epoch 381/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6110 - d_loss: 0.1596
Epoch 382/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7055 - d_loss: 0.1575
Epoch 383/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6429 - d_loss: 0.1658
Epoch 384/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7134 - d_loss: 0.1500
Epoch 385/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7894 - d_loss: 0.1485
Epoch 386/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5804 - d_loss: 0.1603
Epoch 387/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6647 - d_loss: 0.1549
Epoch 388/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7642 - d_loss: 0.1597
Epoch 389/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6698 - d_loss: 0.1483
Epoch 390/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6117 - d_loss: 0.1581
Epoch 391/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7234 - d_loss: 0.1578
Epoch 392/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6320 - d_loss: 0.1565
Epoch 393/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9707 - d_loss: 0.1389
Epoch 394/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0242 - d_loss: 0.1182
Epoch 395/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2666 - d_loss: 0.1178
Epoch 396/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4013 - d_loss: 0.1079
Epoch 397/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1787 - d_loss: 0.1269
Epoch 398/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1914 - d_loss: 0.1282
Epoch 399/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4269 - d_loss: 0.1156
Epoch 400/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4857 - d_loss: 0.1249
Epoch 401/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9418 - d_loss: 0.1627
Epoch 402/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6911 - d_loss: 0.1681
Epoch 403/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8185 - d_loss: 0.1512
Epoch 404/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6014 - d_loss: 0.1660
Epoch 405/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0930 - d_loss: 0.1355
Epoch 406/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0765 - d_loss: 0.1380
Epoch 407/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9596 - d_loss: 0.1523
Epoch 408/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.3659 - d_loss: 0.1901
Epoch 409/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7940 - d_loss: 0.1471
Epoch 410/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8701 - d_loss: 0.1541
Epoch 411/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8839 - d_loss: 0.1477
Epoch 412/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8399 - d_loss: 0.1571
Epoch 413/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6682 - d_loss: 0.1601
Epoch 414/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6832 - d_loss: 0.1622
Epoch 415/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9584 - d_loss: 0.1516
Epoch 416/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9357 - d_loss: 0.1463
Epoch 417/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6161 - d_loss: 0.1716
Epoch 418/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.5137 - d_loss: 0.1606
Epoch 419/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8246 - d_loss: 0.1529
Epoch 420/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8763 - d_loss: 0.1417
Epoch 421/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9122 - d_loss: 0.1500
Epoch 422/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8632 - d_loss: 0.1563
Epoch 423/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0368 - d_loss: 0.1405
Epoch 424/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7387 - d_loss: 0.1637
Epoch 425/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0506 - d_loss: 0.1367
Epoch 426/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0265 - d_loss: 0.1420
Epoch 427/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9809 - d_loss: 0.1456
Epoch 428/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6162 - d_loss: 0.1628
Epoch 429/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8619 - d_loss: 0.1540
Epoch 430/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9556 - d_loss: 0.1467
Epoch 431/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0467 - d_loss: 0.1385
Epoch 432/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9876 - d_loss: 0.1243
Epoch 433/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0679 - d_loss: 0.1305
Epoch 434/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1303 - d_loss: 0.1261
Epoch 435/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9094 - d_loss: 0.1446
Epoch 436/1000
469/469 [==============================] - 27s 59ms/step - g_loss: 6.0689 - d_loss: 0.1378
Epoch 437/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9458 - d_loss: 0.1429
Epoch 438/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8771 - d_loss: 0.1569
Epoch 439/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7197 - d_loss: 0.1561
Epoch 440/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8801 - d_loss: 0.1467
Epoch 441/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0946 - d_loss: 0.1338
Epoch 442/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3828 - d_loss: 0.1332
Epoch 443/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9893 - d_loss: 0.1574
Epoch 444/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8510 - d_loss: 0.1649
Epoch 445/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6329 - d_loss: 0.1593
Epoch 446/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0699 - d_loss: 0.1337
Epoch 447/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0437 - d_loss: 0.1398
Epoch 448/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9309 - d_loss: 0.1481
Epoch 449/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.6924 - d_loss: 0.1678
Epoch 450/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8790 - d_loss: 0.1592
Epoch 451/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2698 - d_loss: 0.1195
Epoch 452/1000
469/469 [==============================] - 27s 59ms/step - g_loss: 6.7070 - d_loss: 0.1059
Epoch 453/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7672 - d_loss: 0.0959
Epoch 454/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.9053 - d_loss: 0.0822
Epoch 455/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7976 - d_loss: 0.0925
Epoch 456/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.7888 - d_loss: 0.1009
Epoch 457/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6012 - d_loss: 0.1087
Epoch 458/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5167 - d_loss: 0.1375
Epoch 459/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8543 - d_loss: 0.1714
Epoch 460/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0714 - d_loss: 0.1530
Epoch 461/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9205 - d_loss: 0.1725
Epoch 462/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0980 - d_loss: 0.1489
Epoch 463/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9485 - d_loss: 0.1727
Epoch 464/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1214 - d_loss: 0.1403
Epoch 465/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0182 - d_loss: 0.1483
Epoch 466/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9071 - d_loss: 0.1472
Epoch 467/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9428 - d_loss: 0.1603
Epoch 468/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8242 - d_loss: 0.1539
Epoch 469/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1469 - d_loss: 0.1265
Epoch 470/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0857 - d_loss: 0.1437
Epoch 471/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8794 - d_loss: 0.1502
Epoch 472/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9564 - d_loss: 0.1507
Epoch 473/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3458 - d_loss: 0.1197
Epoch 474/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2000 - d_loss: 0.1212
Epoch 475/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0539 - d_loss: 0.1364
Epoch 476/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0956 - d_loss: 0.1296
Epoch 477/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1149 - d_loss: 0.1417
Epoch 478/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0116 - d_loss: 0.1563
Epoch 479/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8771 - d_loss: 0.1570
Epoch 480/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1370 - d_loss: 0.1281
Epoch 481/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3957 - d_loss: 0.1175
Epoch 482/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4816 - d_loss: 0.1187
Epoch 483/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.6271 - d_loss: 0.1183
Epoch 484/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1759 - d_loss: 0.1397
Epoch 485/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9612 - d_loss: 0.1608
Epoch 486/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8575 - d_loss: 0.1564
Epoch 487/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9201 - d_loss: 0.1597
Epoch 488/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9429 - d_loss: 0.1461
Epoch 489/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1401 - d_loss: 0.1377
Epoch 490/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1609 - d_loss: 0.1439
Epoch 491/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0978 - d_loss: 0.1416
Epoch 492/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7436 - d_loss: 0.1618
Epoch 493/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8966 - d_loss: 0.1491
Epoch 494/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0866 - d_loss: 0.1421
Epoch 495/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9493 - d_loss: 0.1468
Epoch 496/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8449 - d_loss: 0.1526
Epoch 497/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0352 - d_loss: 0.1300
Epoch 498/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3793 - d_loss: 0.1178
Epoch 499/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3631 - d_loss: 0.1138
Epoch 500/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4376 - d_loss: 0.1018
Epoch 501/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4535 - d_loss: 0.1179
Epoch 502/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1617 - d_loss: 0.1416
Epoch 503/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0191 - d_loss: 0.1455
Epoch 504/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0227 - d_loss: 0.1507
Epoch 505/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9963 - d_loss: 0.1407
Epoch 506/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2580 - d_loss: 0.1412
Epoch 507/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2821 - d_loss: 0.1380
Epoch 508/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0147 - d_loss: 0.1669
Epoch 509/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9978 - d_loss: 0.1497
Epoch 510/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8544 - d_loss: 0.1624
Epoch 511/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9608 - d_loss: 0.1525
Epoch 512/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4323 - d_loss: 0.1213
Epoch 513/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5639 - d_loss: 0.1091
Epoch 514/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5765 - d_loss: 0.1047
Epoch 515/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0967 - d_loss: 0.1355
Epoch 516/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0742 - d_loss: 0.1489
Epoch 517/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0123 - d_loss: 0.1375
Epoch 518/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0835 - d_loss: 0.1568
Epoch 519/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1980 - d_loss: 0.1482
Epoch 520/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9288 - d_loss: 0.1464
Epoch 521/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.8446 - d_loss: 0.1494
Epoch 522/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2086 - d_loss: 0.1242
Epoch 523/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3637 - d_loss: 0.1261
Epoch 524/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5857 - d_loss: 0.1150
Epoch 525/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3565 - d_loss: 0.1166
Epoch 526/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3999 - d_loss: 0.1129
Epoch 527/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3202 - d_loss: 0.1269
Epoch 528/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2521 - d_loss: 0.1437
Epoch 529/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.7495 - d_loss: 0.1666
Epoch 530/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3421 - d_loss: 0.1267
Epoch 531/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3724 - d_loss: 0.1234
Epoch 532/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9820 - d_loss: 0.1483
Epoch 533/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1390 - d_loss: 0.1401
Epoch 534/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2484 - d_loss: 0.1281
Epoch 535/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0409 - d_loss: 0.1512
Epoch 536/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0701 - d_loss: 0.1472
Epoch 537/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1255 - d_loss: 0.1285
Epoch 538/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3012 - d_loss: 0.1281
Epoch 539/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0562 - d_loss: 0.1382
Epoch 540/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4138 - d_loss: 0.1216
Epoch 541/1000
469/469 [==============================] - 27s 59ms/step - g_loss: 6.3247 - d_loss: 0.1325
Epoch 542/1000
469/469 [==============================] - 27s 59ms/step - g_loss: 6.5423 - d_loss: 0.1245
Epoch 543/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5191 - d_loss: 0.1286
Epoch 544/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3290 - d_loss: 0.1336
Epoch 545/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2690 - d_loss: 0.1424
Epoch 546/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0186 - d_loss: 0.1430
Epoch 547/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4363 - d_loss: 0.1190
Epoch 548/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3699 - d_loss: 0.1214
Epoch 549/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9356 - d_loss: 0.1554
Epoch 550/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1943 - d_loss: 0.1387
Epoch 551/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1641 - d_loss: 0.1355
Epoch 552/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5232 - d_loss: 0.1201
Epoch 553/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3971 - d_loss: 0.1377
Epoch 554/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0897 - d_loss: 0.1449
Epoch 555/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.4416 - d_loss: 0.1294
Epoch 556/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.5398 - d_loss: 0.1224
Epoch 557/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2655 - d_loss: 0.1558
Epoch 558/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0174 - d_loss: 0.1494
Epoch 559/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9625 - d_loss: 0.1599
Epoch 560/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 5.9977 - d_loss: 0.1540
Epoch 561/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1361 - d_loss: 0.1401
Epoch 562/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3974 - d_loss: 0.1285
Epoch 563/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2703 - d_loss: 0.1282
Epoch 564/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2106 - d_loss: 0.1345
Epoch 565/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.0623 - d_loss: 0.1420
Epoch 566/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3573 - d_loss: 0.1224
Epoch 567/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3657 - d_loss: 0.1280
Epoch 568/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2540 - d_loss: 0.1419
Epoch 569/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1022 - d_loss: 0.1446
Epoch 570/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.2859 - d_loss: 0.1351
Epoch 571/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.1933 - d_loss: 0.1392
Epoch 572/1000
469/469 [==============================] - 28s 59ms/step - g_loss: 6.3379 - d_loss: 0.1332
Epoch 573/1000
469/469 [==============================] - 31s 66ms/step - g_loss: 6.2006 - d_loss: 0.1381
Epoch 574/1000
469/469 [==============================] - 31s 66ms/step - g_loss: 6.2140 - d_loss: 0.1279
Epoch 575/1000
469/469 [==============================] - 31s 67ms/step - g_loss: 6.2279 - d_loss: 0.1352
Epoch 576/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.5824 - d_loss: 0.1215
Epoch 577/1000
469/469 [==============================] - 33s 69ms/step - g_loss: 5.9895 - d_loss: 0.1532
Epoch 578/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.3708 - d_loss: 0.1351
Epoch 579/1000
469/469 [==============================] - 32s 67ms/step - g_loss: 6.6170 - d_loss: 0.1140
Epoch 580/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.8399 - d_loss: 0.1064
Epoch 581/1000
469/469 [==============================] - 32s 67ms/step - g_loss: 6.6363 - d_loss: 0.1232
Epoch 582/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.4141 - d_loss: 0.1210
Epoch 583/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.0320 - d_loss: 0.1511
Epoch 584/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.3259 - d_loss: 0.1363
Epoch 585/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.3026 - d_loss: 0.1370
Epoch 586/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 5.9935 - d_loss: 0.1447
Epoch 587/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.3182 - d_loss: 0.1359
Epoch 588/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 5.9980 - d_loss: 0.1478
Epoch 589/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.5148 - d_loss: 0.1213
Epoch 590/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.4135 - d_loss: 0.1193
Epoch 591/1000
469/469 [==============================] - 32s 68ms/step - g_loss: 6.5360 - d_loss: 0.1337
Epoch 592/1000
469/469 [==============================] - 33s 70ms/step - g_loss: 6.2214 - d_loss: 0.1507
Epoch 593/1000
469/469 [==============================] - 33s 70ms/step - g_loss: 6.2035 - d_loss: 0.1404
Epoch 594/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.1066 - d_loss: 0.1427
Epoch 595/1000
469/469 [==============================] - 32s 69ms/step - g_loss: 6.3969 - d_loss: 0.1077
Epoch 596/1000
469/469 [==============================] - 30s 65ms/step - g_loss: 6.5243 - d_loss: 0.1190
Epoch 597/1000
469/469 [==============================] - 30s 64ms/step - g_loss: 6.2512 - d_loss: 0.1418
Epoch 598/1000
469/469 [==============================] - 30s 64ms/step - g_loss: 6.4322 - d_loss: 0.1242
Epoch 599/1000
469/469 [==============================] - 30s 63ms/step - g_loss: 6.3332 - d_loss: 0.1334
Epoch 600/1000
469/469 [==============================] - 29s 63ms/step - g_loss: 6.3642 - d_loss: 0.1169
Epoch 601/1000
469/469 [==============================] - 30s 63ms/step - g_loss: 6.1001 - d_loss: 0.1428
Epoch 602/1000
468/469 [============================>.] - ETA: 0s - g_loss: 6.1798 - d_loss: 0.1491
469/469 [==============================] - 34s 72ms/step - g_loss: 6.1798 - d_loss: 0.1491
Epoch 603/1000
469/469 [==============================] - 28s 61ms/step - g_loss: 6.0843 - d_loss: 0.1490
Epoch 604/1000
469/469 [==============================] - 41s 87ms/step - g_loss: 6.3712 - d_loss: 0.1342
Epoch 605/1000
469/469 [==============================] - 70s 149ms/step - g_loss: 6.3537 - d_loss: 0.1348
Epoch 606/1000
469/469 [==============================] - 89s 189ms/step - g_loss: 6.2632 - d_loss: 0.1308
Epoch 607/1000
469/469 [==============================] - 61s 129ms/step - g_loss: 6.5823 - d_loss: 0.1201
Epoch 608/1000
469/469 [==============================] - 63s 134ms/step - g_loss: 6.5377 - d_loss: 0.1192
Epoch 609/1000
469/469 [==============================] - 67s 142ms/step - g_loss: 6.5570 - d_loss: 0.1136
Epoch 610/1000
469/469 [==============================] - 62s 132ms/step - g_loss: 6.5061 - d_loss: 0.1291
Epoch 611/1000
469/469 [==============================] - 182s 389ms/step - g_loss: 6.5176 - d_loss: 0.1287
Epoch 612/1000
469/469 [==============================] - 71s 150ms/step - g_loss: 6.7029 - d_loss: 0.1097
Epoch 613/1000
469/469 [==============================] - 68s 144ms/step - g_loss: 5.9200 - d_loss: 0.1591
Epoch 614/1000
469/469 [==============================] - 71s 151ms/step - g_loss: 6.3505 - d_loss: 0.1324
Epoch 615/1000
469/469 [==============================] - 64s 135ms/step - g_loss: 6.3364 - d_loss: 0.1297
Epoch 616/1000
469/469 [==============================] - 77s 163ms/step - g_loss: 6.4009 - d_loss: 0.1286
Epoch 617/1000
469/469 [==============================] - 161s 343ms/step - g_loss: 6.1276 - d_loss: 0.1462
Epoch 618/1000
469/469 [==============================] - 44s 93ms/step - g_loss: 6.3440 - d_loss: 0.1366
Epoch 619/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.5478 - d_loss: 0.1326
Epoch 620/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.4945 - d_loss: 0.1294
Epoch 621/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.2736 - d_loss: 0.1314
Epoch 622/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.2562 - d_loss: 0.1515
Epoch 623/1000
469/469 [==============================] - 40s 85ms/step - g_loss: 6.2404 - d_loss: 0.1352
Epoch 624/1000
469/469 [==============================] - 42s 90ms/step - g_loss: 6.3914 - d_loss: 0.1248
Epoch 625/1000
469/469 [==============================] - 41s 88ms/step - g_loss: 6.5469 - d_loss: 0.1261
Epoch 626/1000
469/469 [==============================] - 100s 214ms/step - g_loss: 6.4776 - d_loss: 0.1227
Epoch 627/1000
469/469 [==============================] - 70s 149ms/step - g_loss: 6.5712 - d_loss: 0.1317
Epoch 628/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.7501 - d_loss: 0.0985
Epoch 629/1000
469/469 [==============================] - 69s 148ms/step - g_loss: 6.8637 - d_loss: 0.1022
Epoch 630/1000
469/469 [==============================] - 70s 149ms/step - g_loss: 6.8363 - d_loss: 0.1042
Epoch 631/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.2626 - d_loss: 0.1527
Epoch 632/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.2959 - d_loss: 0.1363
Epoch 633/1000
469/469 [==============================] - 40s 84ms/step - g_loss: 6.4282 - d_loss: 0.1310
Epoch 634/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.6597 - d_loss: 0.1139
Epoch 635/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.9455 - d_loss: 0.1161
Epoch 636/1000
469/469 [==============================] - 41s 88ms/step - g_loss: 6.1042 - d_loss: 0.1452
Epoch 637/1000
469/469 [==============================] - 40s 85ms/step - g_loss: 6.3893 - d_loss: 0.1391
Epoch 638/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.4723 - d_loss: 0.1322
Epoch 639/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.2381 - d_loss: 0.1433
Epoch 640/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.5594 - d_loss: 0.1193
Epoch 641/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.4256 - d_loss: 0.1339
Epoch 642/1000
469/469 [==============================] - 40s 86ms/step - g_loss: 6.5614 - d_loss: 0.1307
Epoch 643/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.0411 - d_loss: 0.1541
Epoch 644/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.4924 - d_loss: 0.1313
Epoch 645/1000
469/469 [==============================] - 70s 150ms/step - g_loss: 6.3385 - d_loss: 0.1355
Epoch 646/1000
469/469 [==============================] - 71s 151ms/step - g_loss: 6.4221 - d_loss: 0.1289
Epoch 647/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.2591 - d_loss: 0.1379
Epoch 648/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.1969 - d_loss: 0.1458
Epoch 649/1000
469/469 [==============================] - 70s 148ms/step - g_loss: 5.9638 - d_loss: 0.1533
Epoch 650/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.4550 - d_loss: 0.1307
Epoch 651/1000
469/469 [==============================] - 78s 166ms/step - g_loss: 6.4546 - d_loss: 0.1295
Epoch 652/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.1688 - d_loss: 0.1481
Epoch 653/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.1413 - d_loss: 0.1517
Epoch 654/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.3180 - d_loss: 0.1340
Epoch 655/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.5745 - d_loss: 0.1216
Epoch 656/1000
469/469 [==============================] - 40s 84ms/step - g_loss: 6.3101 - d_loss: 0.1272
Epoch 657/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.3434 - d_loss: 0.1261
Epoch 658/1000
469/469 [==============================] - 131s 280ms/step - g_loss: 6.5220 - d_loss: 0.1101
Epoch 659/1000
469/469 [==============================] - 71s 151ms/step - g_loss: 6.7929 - d_loss: 0.1187
Epoch 660/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.1938 - d_loss: 0.1443
Epoch 661/1000
469/469 [==============================] - 40s 85ms/step - g_loss: 6.1921 - d_loss: 0.1433
Epoch 662/1000
469/469 [==============================] - 70s 150ms/step - g_loss: 6.0218 - d_loss: 0.1475
Epoch 663/1000
469/469 [==============================] - 70s 149ms/step - g_loss: 6.6202 - d_loss: 0.1232
Epoch 664/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.5306 - d_loss: 0.1234
Epoch 665/1000
469/469 [==============================] - 39s 82ms/step - g_loss: 6.3230 - d_loss: 0.1317
Epoch 666/1000
469/469 [==============================] - 101s 216ms/step - g_loss: 6.3130 - d_loss: 0.1186
Epoch 667/1000
469/469 [==============================] - 45s 95ms/step - g_loss: 6.5430 - d_loss: 0.1274
Epoch 668/1000
469/469 [==============================] - 40s 86ms/step - g_loss: 6.4425 - d_loss: 0.1284
Epoch 669/1000
469/469 [==============================] - 41s 88ms/step - g_loss: 6.1430 - d_loss: 0.1386
Epoch 670/1000
469/469 [==============================] - 64s 138ms/step - g_loss: 6.2368 - d_loss: 0.1442
Epoch 671/1000
469/469 [==============================] - 43s 92ms/step - g_loss: 6.2924 - d_loss: 0.1264
Epoch 672/1000
469/469 [==============================] - 40s 86ms/step - g_loss: 6.5656 - d_loss: 0.1042
Epoch 673/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.8232 - d_loss: 0.1079
Epoch 674/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.4109 - d_loss: 0.1398
Epoch 675/1000
469/469 [==============================] - 41s 87ms/step - g_loss: 6.1407 - d_loss: 0.1611
Epoch 676/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.3116 - d_loss: 0.1341
Epoch 677/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.6075 - d_loss: 0.1268
Epoch 678/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.6506 - d_loss: 0.1159
Epoch 679/1000
469/469 [==============================] - 40s 85ms/step - g_loss: 6.1133 - d_loss: 0.1535
Epoch 680/1000
469/469 [==============================] - 43s 92ms/step - g_loss: 6.3691 - d_loss: 0.1390
Epoch 681/1000
469/469 [==============================] - 39s 84ms/step - g_loss: 6.1920 - d_loss: 0.1381
Epoch 682/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.3629 - d_loss: 0.1263
Epoch 683/1000
469/469 [==============================] - 39s 83ms/step - g_loss: 6.6491 - d_loss: 0.1173
Epoch 684/1000
469/469 [==============================] - 44s 93ms/step - g_loss: 6.2705 - d_loss: 0.1312
Epoch 685/1000
469/469 [==============================] - 43s 91ms/step - g_loss: 6.6254 - d_loss: 0.1199
Epoch 686/1000
469/469 [==============================] - 43s 91ms/step - g_loss: 6.6822 - d_loss: 0.1124
Epoch 687/1000
469/469 [==============================] - 44s 95ms/step - g_loss: 6.6972 - d_loss: 0.1078
Epoch 688/1000
469/469 [==============================] - 41s 88ms/step - g_loss: 6.4400 - d_loss: 0.1377
Epoch 689/1000
469/469 [==============================] - 44s 94ms/step - g_loss: 6.2086 - d_loss: 0.1424
Epoch 690/1000
469/469 [==============================] - 155s 331ms/step - g_loss: 6.2415 - d_loss: 0.1471
Epoch 691/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.5029 - d_loss: 0.1256
Epoch 692/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.0333 - d_loss: 0.1518
Epoch 693/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.3538 - d_loss: 0.1371
Epoch 694/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.4485 - d_loss: 0.1163
Epoch 695/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.4692 - d_loss: 0.1288
Epoch 696/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.2674 - d_loss: 0.1321
Epoch 697/1000
469/469 [==============================] - 80s 171ms/step - g_loss: 6.4202 - d_loss: 0.1407
Epoch 698/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 6.5454 - d_loss: 0.1125
Epoch 699/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5430 - d_loss: 0.1437
Epoch 700/1000
469/469 [==============================] - 59s 126ms/step - g_loss: 6.2991 - d_loss: 0.1413
Epoch 701/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.4527 - d_loss: 0.1210
Epoch 702/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.4115 - d_loss: 0.1298
Epoch 703/1000
469/469 [==============================] - 58s 124ms/step - g_loss: 6.4241 - d_loss: 0.1217
Epoch 704/1000
469/469 [==============================] - 58s 121ms/step - g_loss: 6.1903 - d_loss: 0.1432
Epoch 705/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.3964 - d_loss: 0.1326
Epoch 706/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.3376 - d_loss: 0.1362
Epoch 707/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.4111 - d_loss: 0.1241
Epoch 708/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.0660 - d_loss: 0.1435
Epoch 709/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.5711 - d_loss: 0.1259
Epoch 710/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 6.6945 - d_loss: 0.1124
Epoch 711/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.6296 - d_loss: 0.1144
Epoch 712/1000
469/469 [==============================] - 65s 138ms/step - g_loss: 6.4187 - d_loss: 0.1440
Epoch 713/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.6940 - d_loss: 0.1082
Epoch 714/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.5772 - d_loss: 0.1350
Epoch 715/1000
469/469 [==============================] - 58s 123ms/step - g_loss: 6.1541 - d_loss: 0.1336
Epoch 716/1000
469/469 [==============================] - 58s 124ms/step - g_loss: 6.3702 - d_loss: 0.1261
Epoch 717/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.5178 - d_loss: 0.1190
Epoch 718/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.5825 - d_loss: 0.1302
Epoch 719/1000
469/469 [==============================] - 59s 125ms/step - g_loss: 5.9823 - d_loss: 0.1500
Epoch 720/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.5018 - d_loss: 0.1273
Epoch 721/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.5166 - d_loss: 0.1219
Epoch 722/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.1091 - d_loss: 0.1513
Epoch 723/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.2656 - d_loss: 0.1311
Epoch 724/1000
469/469 [==============================] - 54s 116ms/step - g_loss: 6.7070 - d_loss: 0.1138
Epoch 725/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5682 - d_loss: 0.1266
Epoch 726/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 6.4002 - d_loss: 0.1310
Epoch 727/1000
469/469 [==============================] - 59s 126ms/step - g_loss: 6.6718 - d_loss: 0.1246
Epoch 728/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.5031 - d_loss: 0.1452
Epoch 729/1000
469/469 [==============================] - 62s 131ms/step - g_loss: 6.2857 - d_loss: 0.1378
Epoch 730/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.4809 - d_loss: 0.1267
Epoch 731/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6622 - d_loss: 0.1078
Epoch 732/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.7572 - d_loss: 0.1099
Epoch 733/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.7285 - d_loss: 0.1207
Epoch 734/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.1167 - d_loss: 0.1387
Epoch 735/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.3495 - d_loss: 0.1332
Epoch 736/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.5306 - d_loss: 0.1262
Epoch 737/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.1433 - d_loss: 0.1472
Epoch 738/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 6.2712 - d_loss: 0.1301
Epoch 739/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.3358 - d_loss: 0.1307
Epoch 740/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.4702 - d_loss: 0.1194
Epoch 741/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.6425 - d_loss: 0.1224
Epoch 742/1000
469/469 [==============================] - 59s 126ms/step - g_loss: 6.5615 - d_loss: 0.1217
Epoch 743/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 6.7300 - d_loss: 0.1252
Epoch 744/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.5303 - d_loss: 0.1317
Epoch 745/1000
469/469 [==============================] - 59s 124ms/step - g_loss: 6.3536 - d_loss: 0.1400
Epoch 746/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.3633 - d_loss: 0.1503
Epoch 747/1000
469/469 [==============================] - 62s 131ms/step - g_loss: 6.5187 - d_loss: 0.1146
Epoch 748/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.3298 - d_loss: 0.1369
Epoch 749/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.3169 - d_loss: 0.1170
Epoch 750/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 6.8882 - d_loss: 0.1033
Epoch 751/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 7.2442 - d_loss: 0.0864
Epoch 752/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 7.6509 - d_loss: 0.0789
Epoch 753/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 7.2414 - d_loss: 0.0877
Epoch 754/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 7.3343 - d_loss: 0.0930
Epoch 755/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 6.9576 - d_loss: 0.1063
Epoch 756/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 6.6936 - d_loss: 0.1276
Epoch 757/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.2499 - d_loss: 0.1346
Epoch 758/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.7829 - d_loss: 0.1237
Epoch 759/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.5805 - d_loss: 0.1226
Epoch 760/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 6.4124 - d_loss: 0.1369
Epoch 761/1000
469/469 [==============================] - 53s 111ms/step - g_loss: 6.7841 - d_loss: 0.1359
Epoch 762/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.5686 - d_loss: 0.1279
Epoch 763/1000
469/469 [==============================] - 60s 127ms/step - g_loss: 6.5766 - d_loss: 0.1160
Epoch 764/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.2338 - d_loss: 0.1465
Epoch 765/1000
469/469 [==============================] - 61s 131ms/step - g_loss: 6.5838 - d_loss: 0.1198
Epoch 766/1000
469/469 [==============================] - 91s 193ms/step - g_loss: 6.9083 - d_loss: 0.1121
Epoch 767/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.6691 - d_loss: 0.1146
Epoch 768/1000
469/469 [==============================] - 87s 185ms/step - g_loss: 6.3549 - d_loss: 0.1357
Epoch 769/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.5869 - d_loss: 0.1234
Epoch 770/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.7464 - d_loss: 0.1180
Epoch 771/1000
469/469 [==============================] - 114s 243ms/step - g_loss: 6.4898 - d_loss: 0.1301
Epoch 772/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.6492 - d_loss: 0.1151
Epoch 773/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6410 - d_loss: 0.1145
Epoch 774/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.7012 - d_loss: 0.1142
Epoch 775/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.7749 - d_loss: 0.1178
Epoch 776/1000
469/469 [==============================] - 57s 122ms/step - g_loss: 6.5451 - d_loss: 0.1388
Epoch 777/1000
469/469 [==============================] - 84s 179ms/step - g_loss: 6.4117 - d_loss: 0.1365
Epoch 778/1000
469/469 [==============================] - 60s 127ms/step - g_loss: 6.9581 - d_loss: 0.1096
Epoch 779/1000
469/469 [==============================] - 85s 181ms/step - g_loss: 6.9682 - d_loss: 0.1091
Epoch 780/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.5845 - d_loss: 0.1292
Epoch 781/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.4489 - d_loss: 0.1345
Epoch 782/1000
469/469 [==============================] - 58s 122ms/step - g_loss: 6.4720 - d_loss: 0.1413
Epoch 783/1000
469/469 [==============================] - 86s 183ms/step - g_loss: 6.5530 - d_loss: 0.1282
Epoch 784/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.5755 - d_loss: 0.1252
Epoch 785/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.5122 - d_loss: 0.1378
Epoch 786/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.4927 - d_loss: 0.1386
Epoch 787/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.4119 - d_loss: 0.1392
Epoch 788/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.3420 - d_loss: 0.1252
Epoch 789/1000
469/469 [==============================] - 83s 177ms/step - g_loss: 6.8812 - d_loss: 0.1018
Epoch 790/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.6849 - d_loss: 0.1149
Epoch 791/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.4569 - d_loss: 0.1392
Epoch 792/1000
469/469 [==============================] - 83s 177ms/step - g_loss: 6.7758 - d_loss: 0.1031
Epoch 793/1000
469/469 [==============================] - 66s 140ms/step - g_loss: 6.6887 - d_loss: 0.1111
Epoch 794/1000
469/469 [==============================] - 91s 193ms/step - g_loss: 6.8025 - d_loss: 0.1118
Epoch 795/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 7.3217 - d_loss: 0.0889
Epoch 796/1000
469/469 [==============================] - 87s 187ms/step - g_loss: 6.9110 - d_loss: 0.1050
Epoch 797/1000
469/469 [==============================] - 58s 124ms/step - g_loss: 6.3529 - d_loss: 0.1294
Epoch 798/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.4404 - d_loss: 0.1381
Epoch 799/1000
469/469 [==============================] - 58s 122ms/step - g_loss: 6.6265 - d_loss: 0.1167
Epoch 800/1000
469/469 [==============================] - 87s 185ms/step - g_loss: 6.9059 - d_loss: 0.1051
Epoch 801/1000
469/469 [==============================] - 68s 145ms/step - g_loss: 6.5755 - d_loss: 0.1312
Epoch 802/1000
469/469 [==============================] - 74s 158ms/step - g_loss: 6.8038 - d_loss: 0.1191
Epoch 803/1000
469/469 [==============================] - 97s 206ms/step - g_loss: 6.7613 - d_loss: 0.1310
Epoch 804/1000
469/469 [==============================] - 74s 157ms/step - g_loss: 6.8272 - d_loss: 0.1136
Epoch 805/1000
469/469 [==============================] - 71s 151ms/step - g_loss: 6.6362 - d_loss: 0.1273
Epoch 806/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.4812 - d_loss: 0.1254
Epoch 807/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1973 - d_loss: 0.1012
Epoch 808/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.6602 - d_loss: 0.1262
Epoch 809/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.6384 - d_loss: 0.1226
Epoch 810/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.7556 - d_loss: 0.1192
Epoch 811/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.4053 - d_loss: 0.0960
Epoch 812/1000
469/469 [==============================] - 52s 109ms/step - g_loss: 7.2091 - d_loss: 0.0943
Epoch 813/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.8753 - d_loss: 0.1123
Epoch 814/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.5337 - d_loss: 0.1362
Epoch 815/1000
469/469 [==============================] - 51s 109ms/step - g_loss: 6.7473 - d_loss: 0.1114
Epoch 816/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8042 - d_loss: 0.1271
Epoch 817/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0321 - d_loss: 0.1072
Epoch 818/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.9029 - d_loss: 0.1161
Epoch 819/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.6024 - d_loss: 0.1346
Epoch 820/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5396 - d_loss: 0.1292
Epoch 821/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.7055 - d_loss: 0.1237
Epoch 822/1000
469/469 [==============================] - 51s 109ms/step - g_loss: 6.8874 - d_loss: 0.1133
Epoch 823/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5633 - d_loss: 0.1252
Epoch 824/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.9484 - d_loss: 0.1161
Epoch 825/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.6668 - d_loss: 0.1262
Epoch 826/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.5759 - d_loss: 0.1373
Epoch 827/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.8033 - d_loss: 0.1162
Epoch 828/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5751 - d_loss: 0.1293
Epoch 829/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.4264 - d_loss: 0.1356
Epoch 830/1000
469/469 [==============================] - 51s 109ms/step - g_loss: 6.6792 - d_loss: 0.1111
Epoch 831/1000
469/469 [==============================] - 82s 175ms/step - g_loss: 6.8194 - d_loss: 0.1118
Epoch 832/1000
469/469 [==============================] - 65s 139ms/step - g_loss: 6.8714 - d_loss: 0.1093
Epoch 833/1000
469/469 [==============================] - 64s 137ms/step - g_loss: 6.6202 - d_loss: 0.1290
Epoch 834/1000
469/469 [==============================] - 63s 134ms/step - g_loss: 6.8608 - d_loss: 0.1109
Epoch 835/1000
469/469 [==============================] - 62s 132ms/step - g_loss: 6.5616 - d_loss: 0.1239
Epoch 836/1000
469/469 [==============================] - 61s 130ms/step - g_loss: 6.7482 - d_loss: 0.1142
Epoch 837/1000
469/469 [==============================] - 61s 130ms/step - g_loss: 7.0902 - d_loss: 0.1066
Epoch 838/1000
469/469 [==============================] - 61s 131ms/step - g_loss: 7.1728 - d_loss: 0.1050
Epoch 839/1000
469/469 [==============================] - 64s 136ms/step - g_loss: 7.1140 - d_loss: 0.1033
Epoch 840/1000
469/469 [==============================] - 60s 128ms/step - g_loss: 7.3423 - d_loss: 0.0881
Epoch 841/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 7.4858 - d_loss: 0.0905
Epoch 842/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6477 - d_loss: 0.1394
Epoch 843/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 6.8788 - d_loss: 0.1264
Epoch 844/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 7.0033 - d_loss: 0.1105
Epoch 845/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.8409 - d_loss: 0.1178
Epoch 846/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 6.7282 - d_loss: 0.1165
Epoch 847/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 6.6324 - d_loss: 0.1292
Epoch 848/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.8250 - d_loss: 0.1130
Epoch 849/1000
469/469 [==============================] - 57s 120ms/step - g_loss: 6.7501 - d_loss: 0.1196
Epoch 850/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6294 - d_loss: 0.1431
Epoch 851/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.8362 - d_loss: 0.1185
Epoch 852/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8634 - d_loss: 0.1221
Epoch 853/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.8443 - d_loss: 0.1086
Epoch 854/1000
469/469 [==============================] - 57s 121ms/step - g_loss: 6.5714 - d_loss: 0.1252
Epoch 855/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 6.6857 - d_loss: 0.1221
Epoch 856/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 7.0730 - d_loss: 0.0997
Epoch 857/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.8510 - d_loss: 0.1194
Epoch 858/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.3393 - d_loss: 0.1326
Epoch 859/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 7.1531 - d_loss: 0.1169
Epoch 860/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 7.6819 - d_loss: 0.0736
Epoch 861/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 8.1312 - d_loss: 0.0922
Epoch 862/1000
469/469 [==============================] - 56s 119ms/step - g_loss: 7.4262 - d_loss: 0.0900
Epoch 863/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 7.4715 - d_loss: 0.0933
Epoch 864/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.7617 - d_loss: 0.1303
Epoch 865/1000
469/469 [==============================] - 56s 120ms/step - g_loss: 6.7109 - d_loss: 0.1204
Epoch 866/1000
469/469 [==============================] - 63s 133ms/step - g_loss: 6.5941 - d_loss: 0.1190
Epoch 867/1000
469/469 [==============================] - 69s 146ms/step - g_loss: 6.5257 - d_loss: 0.1356
Epoch 868/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8933 - d_loss: 0.1170
Epoch 869/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 7.0288 - d_loss: 0.1235
Epoch 870/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.9378 - d_loss: 0.1127
Epoch 871/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.7077 - d_loss: 0.1321
Epoch 872/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8370 - d_loss: 0.1202
Epoch 873/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.8712 - d_loss: 0.1138
Epoch 874/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.8078 - d_loss: 0.1082
Epoch 875/1000
469/469 [==============================] - 54s 116ms/step - g_loss: 6.9164 - d_loss: 0.1078
Epoch 876/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.5437 - d_loss: 0.1299
Epoch 877/1000
469/469 [==============================] - 56s 117ms/step - g_loss: 6.7772 - d_loss: 0.1156
Epoch 878/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 7.1243 - d_loss: 0.0993
Epoch 879/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.8455 - d_loss: 0.1253
Epoch 880/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.7290 - d_loss: 0.1256
Epoch 881/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8418 - d_loss: 0.1220
Epoch 882/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.7614 - d_loss: 0.1304
Epoch 883/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8578 - d_loss: 0.1256
Epoch 884/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.7240 - d_loss: 0.1105
Epoch 885/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6671 - d_loss: 0.1208
Epoch 886/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8549 - d_loss: 0.1171
Epoch 887/1000
469/469 [==============================] - 56s 118ms/step - g_loss: 6.7527 - d_loss: 0.1096
Epoch 888/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8894 - d_loss: 0.1062
Epoch 889/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.9867 - d_loss: 0.1080
Epoch 890/1000
469/469 [==============================] - 54s 115ms/step - g_loss: 6.9414 - d_loss: 0.1058
Epoch 891/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.9949 - d_loss: 0.1162
Epoch 892/1000
469/469 [==============================] - 55s 118ms/step - g_loss: 6.7746 - d_loss: 0.1188
Epoch 893/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.4911 - d_loss: 0.1424
Epoch 894/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.6569 - d_loss: 0.1147
Epoch 895/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.8266 - d_loss: 0.1211
Epoch 896/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.8398 - d_loss: 0.1063
Epoch 897/1000
469/469 [==============================] - 54s 116ms/step - g_loss: 6.8901 - d_loss: 0.1167
Epoch 898/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.9796 - d_loss: 0.1077
Epoch 899/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.7328 - d_loss: 0.1148
Epoch 900/1000
469/469 [==============================] - 55s 117ms/step - g_loss: 6.4527 - d_loss: 0.1409
Epoch 901/1000
469/469 [==============================] - 55s 116ms/step - g_loss: 6.6957 - d_loss: 0.1203
Epoch 902/1000
468/469 [============================>.] - ETA: 0s - g_loss: 6.8847 - d_loss: 0.1150
469/469 [==============================] - 57s 121ms/step - g_loss: 6.8845 - d_loss: 0.1150
Epoch 903/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.9444 - d_loss: 0.1061
Epoch 904/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.7442 - d_loss: 0.1120
Epoch 905/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 6.6289 - d_loss: 0.1243
Epoch 906/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8849 - d_loss: 0.1114
Epoch 907/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.8329 - d_loss: 0.1009
Epoch 908/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 7.0307 - d_loss: 0.1110
Epoch 909/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.0989 - d_loss: 0.0955
Epoch 910/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.9492 - d_loss: 0.1084
Epoch 911/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 6.7650 - d_loss: 0.1176
Epoch 912/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8401 - d_loss: 0.1073
Epoch 913/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.8221 - d_loss: 0.1164
Epoch 914/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8879 - d_loss: 0.1094
Epoch 915/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 6.9742 - d_loss: 0.1003
Epoch 916/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 6.8747 - d_loss: 0.1301
Epoch 917/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.0983 - d_loss: 0.1025
Epoch 918/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0791 - d_loss: 0.1101
Epoch 919/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 7.0751 - d_loss: 0.1114
Epoch 920/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8860 - d_loss: 0.1277
Epoch 921/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2708 - d_loss: 0.0995
Epoch 922/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.4938 - d_loss: 0.0727
Epoch 923/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 7.4628 - d_loss: 0.0843
Epoch 924/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.0242 - d_loss: 0.1131
Epoch 925/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2061 - d_loss: 0.1037
Epoch 926/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 6.8855 - d_loss: 0.1084
Epoch 927/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8177 - d_loss: 0.1275
Epoch 928/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.1420 - d_loss: 0.1169
Epoch 929/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 6.9069 - d_loss: 0.1048
Epoch 930/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1709 - d_loss: 0.1083
Epoch 931/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.3208 - d_loss: 0.0975
Epoch 932/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 7.1483 - d_loss: 0.1054
Epoch 933/1000
469/469 [==============================] - 54s 114ms/step - g_loss: 7.0896 - d_loss: 0.1080
Epoch 934/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2209 - d_loss: 0.1158
Epoch 935/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.5674 - d_loss: 0.1337
Epoch 936/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.8229 - d_loss: 0.1116
Epoch 937/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2667 - d_loss: 0.0966
Epoch 938/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.2169 - d_loss: 0.0948
Epoch 939/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.6156 - d_loss: 0.1419
Epoch 940/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 7.3429 - d_loss: 0.0980
Epoch 941/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 7.4037 - d_loss: 0.1048
Epoch 942/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 7.2418 - d_loss: 0.0975
Epoch 943/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.0315 - d_loss: 0.1090
Epoch 944/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.9234 - d_loss: 0.1126
Epoch 945/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.8743 - d_loss: 0.1093
Epoch 946/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.1397 - d_loss: 0.1050
Epoch 947/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0375 - d_loss: 0.1155
Epoch 948/1000
469/469 [==============================] - 53s 114ms/step - g_loss: 7.0760 - d_loss: 0.1136
Epoch 949/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.1938 - d_loss: 0.1063
Epoch 950/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.9148 - d_loss: 0.1219
Epoch 951/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1702 - d_loss: 0.1079
Epoch 952/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0074 - d_loss: 0.1071
Epoch 953/1000
469/469 [==============================] - 51s 109ms/step - g_loss: 6.7239 - d_loss: 0.1220
Epoch 954/1000
469/469 [==============================] - 53s 113ms/step - g_loss: 7.4008 - d_loss: 0.0905
Epoch 955/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.5486 - d_loss: 0.0955
Epoch 956/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.7339 - d_loss: 0.0812
Epoch 957/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.9632 - d_loss: 0.0834
Epoch 958/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 8.2213 - d_loss: 0.0679
Epoch 959/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 8.1186 - d_loss: 0.0589
Epoch 960/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 8.2530 - d_loss: 0.0690
Epoch 961/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.9294 - d_loss: 0.0797
Epoch 962/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0942 - d_loss: 0.1323
Epoch 963/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.9800 - d_loss: 0.1176
Epoch 964/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.3770 - d_loss: 0.0953
Epoch 965/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.9825 - d_loss: 0.1214
Epoch 966/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0203 - d_loss: 0.1314
Epoch 967/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0080 - d_loss: 0.1315
Epoch 968/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.0400 - d_loss: 0.1129
Epoch 969/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.8822 - d_loss: 0.1319
Epoch 970/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.0475 - d_loss: 0.1184
Epoch 971/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 6.9603 - d_loss: 0.1127
Epoch 972/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.5346 - d_loss: 0.0913
Epoch 973/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.4695 - d_loss: 0.0922
Epoch 974/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.3289 - d_loss: 0.0939
Epoch 975/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.2466 - d_loss: 0.1199
Epoch 976/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1586 - d_loss: 0.1145
Epoch 977/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.4502 - d_loss: 0.1129
Epoch 978/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.9565 - d_loss: 0.1302
Epoch 979/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.3467 - d_loss: 0.1040
Epoch 980/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8989 - d_loss: 0.1158
Epoch 981/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.7166 - d_loss: 0.1285
Epoch 982/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.0835 - d_loss: 0.1290
Epoch 983/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 6.9008 - d_loss: 0.1188
Epoch 984/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1562 - d_loss: 0.1062
Epoch 985/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.9842 - d_loss: 0.1197
Epoch 986/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.7775 - d_loss: 0.1199
Epoch 987/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.1250 - d_loss: 0.0962
Epoch 988/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 6.8780 - d_loss: 0.1162
Epoch 989/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2679 - d_loss: 0.0939
Epoch 990/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1865 - d_loss: 0.1065
Epoch 991/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.3311 - d_loss: 0.1074
Epoch 992/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1395 - d_loss: 0.1069
Epoch 993/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.3857 - d_loss: 0.1157
Epoch 994/1000
469/469 [==============================] - 53s 112ms/step - g_loss: 7.1133 - d_loss: 0.1117
Epoch 995/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 6.8451 - d_loss: 0.1194
Epoch 996/1000
469/469 [==============================] - 52s 111ms/step - g_loss: 7.1770 - d_loss: 0.1029
Epoch 997/1000
469/469 [==============================] - 52s 110ms/step - g_loss: 7.2165 - d_loss: 0.1159
Epoch 998/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 7.2049 - d_loss: 0.0961
Epoch 999/1000
469/469 [==============================] - 51s 109ms/step - g_loss: 7.3034 - d_loss: 0.1055
Epoch 1000/1000
469/469 [==============================] - 52s 112ms/step - g_loss: 6.7121 - d_loss: 0.1349
In [ ]:
tf.keras.models.save_model(generator , "./generator_cgan4.h5")
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.
In [ ]:
tf.keras.models.save_model(discriminator , "./discriminator_cgan4.h5")
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.
In [ ]:
# story history object into dataframe
hist_df = pd.DataFrame(con_hist2.history)

# using pandas dataframe to plot out learning curve
with plt.style.context('seaborn'):
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 8), tight_layout=True)
    hist_df.loc[:, ["d_loss", 'g_loss']].plot(ax=ax1, title=r'Learning Curve of Loss Function CE')
    plt.show()
In [ ]:
gen = tf.keras.models.load_model("./generator_cgan3.h5")
gen.summary()
WARNING:tensorflow:No training configuration found in the save file, so the model was *not* compiled. Compile it manually.
Model: "generator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_5 (Dense)             (None, 8832)              1227648   
                                                                 
 leaky_re_lu_15 (LeakyReLU)  (None, 8832)              0         
                                                                 
 reshape_2 (Reshape)         (None, 8, 8, 138)         0         
                                                                 
 conv2d_transpose_4 (Conv2DT  (None, 16, 16, 128)      282752    
 ranspose)                                                       
                                                                 
 leaky_re_lu_16 (LeakyReLU)  (None, 16, 16, 128)       0         
                                                                 
 conv2d_transpose_5 (Conv2DT  (None, 32, 32, 128)      262272    
 ranspose)                                                       
                                                                 
 leaky_re_lu_17 (LeakyReLU)  (None, 32, 32, 128)       0         
                                                                 
 conv2d_14 (Conv2D)          (None, 32, 32, 3)         24579     
                                                                 
=================================================================
Total params: 1,797,251
Trainable params: 1,797,251
Non-trainable params: 0
_________________________________________________________________
In [ ]:
# Get the trained generator
trained_gen = cond_gan.generator

num_classes = 10
fig, axs = plt.subplots(num_classes, 10, figsize=(10, num_classes))

for i in range(num_classes):
    class_label = keras.utils.to_categorical([i], num_classes)
    class_label = tf.cast(class_label, tf.float32)

    # Generate 10 random noise vectors
    random_noise = tf.random.normal(shape=(10, latent_dim))
    # Repeat the class label for each noise vector
    class_label = tf.repeat(class_label, repeats=10, axis=0)
    # Concatenate the noise and class label
    noise_and_label = tf.concat([random_noise, class_label], axis=1)
    # Run inference with the generator
    fake_images = trained_gen(noise_and_label)

    fake_images -= -1
    fake_images /= (1 - -1)
    
    # Plot the generated images
    for j in range(10):
        axs[i, j].imshow(fake_images[j])
        axs[i, j].axis("off")

plt.show()

8.2.9 Second CGAN Model Reflection¶

9. Final CGAN Model¶

Eliminating fully connected layers on top of convolutional features

  • [x] Label Smoothing here with (BAM RESEARCH)

using GlobalAveragePooling2D at the last lalyer of Discriminators (Radford et al., 2015) (will hurt convergence speed)

  • [x] Add batch normalization for both generator and discriminator
  • [x] Add GlobalAveragePooling2D at the last layer of Discriminators
  • [x] Data augmentation

9.1 Handling Representation Scarcity¶

Data augmentation generates more data by applying the features below to the dataset

  • Rotation
  • Flip
In [ ]:
# import dataset
import tensorflow as tf
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
assert x_train.shape == (50000, 32, 32, 3)
assert x_test.shape == (10000, 32, 32, 3)
assert y_train.shape == (50000, 1)
assert y_test.shape == (10000, 1)


# We'll use all the available examples from both the training and test
# sets.
all_digits = np.concatenate([x_train, x_test])
all_labels = np.concatenate([y_train, y_test])
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170498071/170498071 [==============================] - 4s 0us/step
In [ ]:
from keras.preprocessing.image import ImageDataGenerator

all_digits_rotate = all_digits.copy()
all_labels_rotate = all_labels.copy()

# define data preparation
datagen = ImageDataGenerator(rotation_range=10)
# fit parameters from data
datagen.fit(all_digits_rotate)
# configure batch size and retrieve one batch of images
for X_batch, y_batch in datagen.flow(all_digits_rotate, all_labels_rotate, batch_size=9, shuffle=False):
    X_batch = X_batch.astype("uint8")
    # create a grid of 3x3 images
    fig, ax = plt.subplots(3, 3, sharex=True, sharey=True, figsize=(4,4))
    for i in range(3):
        for j in range(3):
            
            ax[i][j].imshow(X_batch[i*3+j])
    # show the plot
    plt.show()
    break

all_digits_rotated = datagen.flow(all_digits_rotate, all_labels_rotate, batch_size=all_digits_rotate.shape[0], shuffle=False).next()
all_digits_rotated = all_digits_rotated[0]
In [ ]:
all_digits_flip = all_digits.copy()
all_labels_flip = all_labels.copy()

# define data preparation
datagen = ImageDataGenerator(horizontal_flip=True)

# fit parameters from data
datagen.fit(all_digits_flip)
# configure batch size and retrieve one batch of images
for X_batch, y_batch in datagen.flow(all_digits_flip, all_labels_flip, batch_size=9, shuffle=False):
    X_batch = X_batch.astype("uint8")
    # create a grid of 3x3 images
    fig, ax = plt.subplots(3, 3, sharex=True, sharey=True, figsize=(4,4))
    for i in range(3):
        for j in range(3):
            ax[i][j].imshow(X_batch[i*3+j])
    # show the plot
    plt.show()
    break

all_digits_flipped = datagen.flow(all_digits_flip, all_labels_flip, batch_size=all_digits_flip.shape[0], shuffle=False).next()
all_digits_flipped = all_digits_flipped[0]



plt.imshow(all_digits_flip[12])
plt.show()
In [ ]:
# concat flip shift and rotate
all_digits = np.concatenate((all_digits,all_digits_flipped,all_digits_rotated),axis=0)
all_labels = np.concatenate((all_labels,all_labels_flip,all_labels_rotate),axis=0)
print('total data points after adding all:',all_digits.shape, all_labels.shape)
total data points after adding all: (180000, 32, 32, 3) (180000, 1)
In [ ]:
generator_in_channels = latent_dim + num_classes
discriminator_in_channels = num_channels + num_classes
print(generator_in_channels, discriminator_in_channels)
138 13

9.2 Converting to tensors¶

In [ ]:
# Scale the pixel values to [-1, 1] range.
all_digits = all_digits / 127.5 - 1
#  one-hot encode the labels.
all_digits = np.reshape(all_digits, (-1, 32, 32, 3))
all_labels = keras.utils.to_categorical(all_labels, 10)

# Create tf.data.Dataset.
dataset = tf.data.Dataset.from_tensor_slices((all_digits, all_labels))
dataset = dataset.shuffle(buffer_size=1024).batch(batch_size)

print(f"Maximal pixel value: {np.max(all_digits)}")
print(f"Minimal pixel value: {np.min(all_digits)}")

print(f"Shape of training images: {all_digits.shape}")
print(f"Shape of training labels: {all_labels.shape}")
Maximal pixel value: 1.0
Minimal pixel value: -1.0
Shape of training images: (180000, 32, 32, 3)
Shape of training labels: (180000, 10)
In [ ]:
# all_digits = np.reshape(all_digits, (-1, 32, 32, 3))
# all_labels = keras.utils.to_categorical(all_labels, 10)

# # Create tf.data.Dataset.
# dataset = tf.data.Dataset.from_tensor_slices((all_digits,all_labels))
# dataset = dataset.shuffle(buffer_size=1024).batch(batch_size)

# print(f"Maximal pixel value: {np.max(all_digits)}")
# print(f"Minimal pixel value: {np.min(all_digits)}")

# print(f"Shape of training images: {all_digits.shape}")
# print(f"Shape of training labels: {all_labels.shape}")



# print('Dataset Loaded')
In [ ]:
# Create the discriminator.
discriminator = keras.Sequential(
    [
        keras.layers.InputLayer((32, 32, discriminator_in_channels)),
        SpectralNormalization(
        layers.Conv2D(64, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.BatchNormalization(momentum=0.8),
        layers.LeakyReLU(alpha=0.2),

        SpectralNormalization(
        layers.Conv2D(128, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.BatchNormalization(momentum=0.8),
        layers.LeakyReLU(alpha=0.2),
        SpectralNormalization(
        layers.Conv2D(128, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.BatchNormalization(momentum=0.8),
        SpectralNormalization(
        layers.Conv2D(256, kernel_size=4 , strides=2, padding="same"),
        ),
     
        layers.LeakyReLU(alpha=0.2),
        layers.GlobalMaxPooling2D(),
        layers.Dense(1, activation='sigmoid'),
    ],
    name="discriminator",
)
discriminator.summary()
In [ ]:
pip install visualkeras
In [ ]:
import visualkeras
visualkeras.layered_view(discriminator, legend=True)
In [ ]:
# Create the generator.
generator = keras.Sequential(
    [
        keras.layers.InputLayer((generator_in_channels,)),
        # We want to generate 128 + num_classes coefficients to reshape into a
        # 7x7x(128 + num_classes) map.
        layers.Dense(2 * 2 * generator_in_channels),
        layers.ReLU(),
        layers.Reshape((2, 2, generator_in_channels)),
        layers.Conv2DTranspose(64, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8),
        layers.ReLU(),
        layers.Conv2DTranspose(128, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8),
        layers.ReLU(),
        layers.Conv2DTranspose(256, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8),
        layers.ReLU(),
        layers.Conv2DTranspose(512, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8),
        layers.ReLU(),
        layers.Conv2D(3, (4, 4), padding="same", activation="tanh"),
    ],
    name="generator",
)
generator.summary()
Model: "generator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_1 (Dense)             (None, 552)               76728     
                                                                 
 re_lu (ReLU)                (None, 552)               0         
                                                                 
 reshape (Reshape)           (None, 2, 2, 138)         0         
                                                                 
 conv2d_transpose (Conv2DTra  (None, 4, 4, 64)         141376    
 nspose)                                                         
                                                                 
 batch_normalization_3 (Batc  (None, 4, 4, 64)         256       
 hNormalization)                                                 
                                                                 
 re_lu_1 (ReLU)              (None, 4, 4, 64)          0         
                                                                 
 conv2d_transpose_1 (Conv2DT  (None, 8, 8, 128)        131200    
 ranspose)                                                       
                                                                 
 batch_normalization_4 (Batc  (None, 8, 8, 128)        512       
 hNormalization)                                                 
                                                                 
 re_lu_2 (ReLU)              (None, 8, 8, 128)         0         
                                                                 
 conv2d_transpose_2 (Conv2DT  (None, 16, 16, 256)      524544    
 ranspose)                                                       
                                                                 
 batch_normalization_5 (Batc  (None, 16, 16, 256)      1024      
 hNormalization)                                                 
                                                                 
 re_lu_3 (ReLU)              (None, 16, 16, 256)       0         
                                                                 
 conv2d_transpose_3 (Conv2DT  (None, 32, 32, 512)      2097664   
 ranspose)                                                       
                                                                 
 batch_normalization_6 (Batc  (None, 32, 32, 512)      2048      
 hNormalization)                                                 
                                                                 
 re_lu_4 (ReLU)              (None, 32, 32, 512)       0         
                                                                 
 conv2d_4 (Conv2D)           (None, 32, 32, 3)         24579     
                                                                 
=================================================================
Total params: 2,999,931
Trainable params: 2,998,011
Non-trainable params: 1,920
_________________________________________________________________
In [ ]:
visualkeras.layered_view(generator, legend=True)

Added Label smoothing

In [ ]:
cond_gan = ConditionalGAN(
    discriminator=discriminator, generator=generator, latent_dim=128
)
cond_gan.compile(
    d_optimizer=keras.optimizers.Adam(learning_rate=2e-4, beta_1=0.5),
    g_optimizer=keras.optimizers.Adam(learning_rate=2e-4, beta_1=0.5),
    loss_fn=keras.losses.BinaryCrossentropy(from_logits=False,label_smoothing=0.1),
)

con_hist = cond_gan.fit(dataset, epochs=1000, callbacks=[CONDGANMonitor(num_img=100)])
Output hidden; open in https://colab.research.google.com to view.

Mode Collapse happened¶

BAM RESEARCH PAPER HERE

In [ ]:
# story history object into dataframe
hist_df = pd.DataFrame(con_hist.history)

# using pandas dataframe to plot out learning curve
with plt.style.context('seaborn'):
    fig, (ax1, ax2) = plt.subplots(1,1, figsize=(16, 8), tight_layout=True)
    hist_df.loc[:, ["d_loss", 'g_loss']].plot(ax=ax1, title=r'Learning Curve of Loss Function CE')
    plt.show()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-50-2e9c9b5cacaa> in <module>
      1 # story history object into dataframe
----> 2 hist_df = pd.DataFrame(con_hist.history)
      3 
      4 # using pandas dataframe to plot out learning curve
      5 with plt.style.context('seaborn'):

NameError: name 'con_hist' is not defined

3. Final SNCGAN Model¶

  • The loss of the discriminator is too low therefore overpowering the generator
  • I will be reducing neurons in the discriminator
  • add regularization to the discriminator

Regularize Discriminator¶

Dropout for discriminator¶

In [ ]:
# Create the discriminator.
discriminator = keras.Sequential(
    [
        keras.layers.InputLayer((32, 32, discriminator_in_channels)),
        layers.LeakyReLU(alpha=0.2),
        SpectralNormalization(
        layers.Conv2D(64, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.LeakyReLU(alpha=0.2),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),

        SpectralNormalization(
        layers.Conv2D(128, kernel_size=4 , strides=2, padding="same"),
        ),
        layers.LeakyReLU(alpha=0.2),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),

        SpectralNormalization(
        layers.Conv2D(128, kernel_size=4 , strides=2, padding="same"),
        ),

        layers.LeakyReLU(alpha=0.2),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),
        layers.GlobalMaxPooling2D(),
        layers.Flatten(),
        layers.Dropout(0.3),
        layers.Dense(1, activation='sigmoid'),
    ],
    name="discriminator",
)
discriminator.summary()
Model: "discriminator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 leaky_re_lu (LeakyReLU)     (None, 32, 32, 13)        0         
                                                                 
 spectral_normalization (Spe  (None, 16, 16, 64)       13440     
 ctralNormalization)                                             
                                                                 
 leaky_re_lu_1 (LeakyReLU)   (None, 16, 16, 64)        0         
                                                                 
 batch_normalization (BatchN  (None, 16, 16, 64)       256       
 ormalization)                                                   
                                                                 
 spectral_normalization_1 (S  (None, 8, 8, 128)        131328    
 pectralNormalization)                                           
                                                                 
 leaky_re_lu_2 (LeakyReLU)   (None, 8, 8, 128)         0         
                                                                 
 batch_normalization_1 (Batc  (None, 8, 8, 128)        512       
 hNormalization)                                                 
                                                                 
 spectral_normalization_2 (S  (None, 4, 4, 128)        262400    
 pectralNormalization)                                           
                                                                 
 leaky_re_lu_3 (LeakyReLU)   (None, 4, 4, 128)         0         
                                                                 
 batch_normalization_2 (Batc  (None, 4, 4, 128)        512       
 hNormalization)                                                 
                                                                 
 global_max_pooling2d (Globa  (None, 128)              0         
 lMaxPooling2D)                                                  
                                                                 
 flatten (Flatten)           (None, 128)               0         
                                                                 
 dropout (Dropout)           (None, 128)               0         
                                                                 
 dense (Dense)               (None, 1)                 129       
                                                                 
=================================================================
Total params: 408,577
Trainable params: 407,617
Non-trainable params: 960
_________________________________________________________________
In [ ]:
pip install visualkeras
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting visualkeras
  Downloading visualkeras-0.0.2-py3-none-any.whl (12 kB)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.8/dist-packages (from visualkeras) (7.1.2)
Collecting aggdraw>=1.3.11
  Downloading aggdraw-1.3.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (992 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 992.2/992.2 KB 23.4 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.18.1 in /usr/local/lib/python3.8/dist-packages (from visualkeras) (1.21.6)
Installing collected packages: aggdraw, visualkeras
Successfully installed aggdraw-1.3.15 visualkeras-0.0.2
In [ ]:
import visualkeras
visualkeras.layered_view(discriminator, legend=True)
Out[ ]:
In [ ]:
generator = keras.Sequential(
    [
        keras.layers.InputLayer((generator_in_channels,)),
        # We want to generate 128 + num_classes coefficients to reshape into a
        # 7x7x(128 + num_classes) map.
        layers.Dense(4 * 4 * generator_in_channels),
        layers.ReLU(),
        layers.Reshape((4, 4, generator_in_channels)),
        layers.Conv2DTranspose(64, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),
        layers.ReLU(),
        layers.Conv2DTranspose(128, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),
        layers.ReLU(),
        layers.Conv2DTranspose(128, (4, 4), strides=(2, 2), padding="same"),
        layers.BatchNormalization(momentum=0.8, epsilon=1e-5),
        layers.ReLU(),

        layers.Conv2D(3, (4, 4), padding="same", activation="tanh"),
    ],
    name="generator",
)

generator.summary()
Model: "generator"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_2 (Dense)             (None, 2208)              306912    
                                                                 
 re_lu_4 (ReLU)              (None, 2208)              0         
                                                                 
 reshape_1 (Reshape)         (None, 4, 4, 138)         0         
                                                                 
 conv2d_transpose_3 (Conv2DT  (None, 8, 8, 64)         141376    
 ranspose)                                                       
                                                                 
 batch_normalization_6 (Batc  (None, 8, 8, 64)         256       
 hNormalization)                                                 
                                                                 
 re_lu_5 (ReLU)              (None, 8, 8, 64)          0         
                                                                 
 conv2d_transpose_4 (Conv2DT  (None, 16, 16, 128)      131200    
 ranspose)                                                       
                                                                 
 batch_normalization_7 (Batc  (None, 16, 16, 128)      512       
 hNormalization)                                                 
                                                                 
 re_lu_6 (ReLU)              (None, 16, 16, 128)       0         
                                                                 
 conv2d_transpose_5 (Conv2DT  (None, 32, 32, 128)      262272    
 ranspose)                                                       
                                                                 
 batch_normalization_8 (Batc  (None, 32, 32, 128)      512       
 hNormalization)                                                 
                                                                 
 re_lu_7 (ReLU)              (None, 32, 32, 128)       0         
                                                                 
 conv2d_4 (Conv2D)           (None, 32, 32, 3)         6147      
                                                                 
=================================================================
Total params: 849,187
Trainable params: 848,547
Non-trainable params: 640
_________________________________________________________________
In [ ]:
import visualkeras
visualkeras.layered_view(generator, legend=True)
Out[ ]:
In [23]:
cond_gan = ConditionalGAN(
    discriminator=discriminator, generator=generator, latent_dim=128
)
cond_gan.compile(
    d_optimizer=keras.optimizers.Adam(learning_rate=2e-4, beta_1=0.5),
    g_optimizer=keras.optimizers.Adam(learning_rate=2e-4, beta_1=0.5),
    loss_fn=keras.losses.BinaryCrossentropy(from_logits=False,label_smoothing=0.1),
)

con_hist = cond_gan.fit(dataset, epochs=1500, callbacks=[CONDGANMonitor(num_img=100, generator = generator)])
Output hidden; open in https://colab.research.google.com to view.
In [24]:
# story history object into dataframe
hist_df = pd.DataFrame(con_hist.history)

# using pandas dataframe to plot out learning curve
with plt.style.context('seaborn'):
    fig, ax = plt.subplots(figsize=(16, 8), tight_layout=True)
    hist_df.loc[:, ["d_loss", 'g_loss']].plot(ax=ax, title=r'Learning Curve of Loss Function CE')
    plt.show()

FID score¶

In [25]:
import numpy as np
from tensorflow.keras.applications.inception_v3 import InceptionV3, preprocess_input
from tensorflow.image import resize
from scipy.linalg import sqrtm
import math
from tqdm import tqdm
from keras.utils import to_categorical
class GAN_FID:
    def __init__(self, batch_size, latent_dim, sample_size, buffer_size):
        # setting Hyperparameters
        self.BATCH_SIZE = batch_size
        self.LATENT_DIM = latent_dim
        self.SAMPLE_SIZE = sample_size
        self.BUFFER_SIZE = buffer_size

        # setting Constants
        self.INCEPTION_SHAPE = (299, 299, 3)
        self.INCEPTION = InceptionV3(include_top=False, pooling='avg', input_shape=self.INCEPTION_SHAPE)
        self.AUTO = tf.data.AUTOTUNE

    # method to set generator and training data
    def fit(self, generator, train_data):
        # setting generative model and original data used for training 
        self.GENERATOR = generator
        self.train_data = train_data

        # Preparing Real Images
        trainloader = tf.data.Dataset.from_tensor_slices((self.train_data))
        trainloader = (
            trainloader
            .shuffle(self.BUFFER_SIZE)
            .map(self.__resize_and_preprocess, num_parallel_calls=self.AUTO)
            .batch(self.BATCH_SIZE, num_parallel_calls=self.AUTO)
            .prefetch(self.AUTO)
        )
        self.trainloader = trainloader

        # Generate and prepare Synthetic Images (Fake)
        rand_labels = np.random.randint(low=0, high=10, size=self.SAMPLE_SIZE)
        rand_labels = to_categorical(rand_labels)
        noise = tf.random.normal([self.SAMPLE_SIZE, self.LATENT_DIM])
        random_vector_labels = tf.concat([noise, rand_labels], axis=1)

        generated_images = self.GENERATOR(random_vector_labels)
        genloader = tf.data.Dataset.from_tensor_slices(generated_images)
        genloader = (
            genloader
            .map(self.__resize_and_preprocess, num_parallel_calls=self.AUTO)
            .batch(self.BATCH_SIZE, num_parallel_calls=self.AUTO)
            .prefetch(self.AUTO)
        )
        self.genloader = genloader

        # prepare embeddings
        count = math.ceil(self.SAMPLE_SIZE/self.BATCH_SIZE)

        ## compute embeddings for real images
        print("Computing Real Image Embeddings")
        self.real_image_embeddings = self.__compute_embeddings(self.trainloader, count)

        ## compute embeddings for generated images
        print("Computing Generated Image Embeddings")
        self.generated_image_embeddings = self.__compute_embeddings(self.genloader, count)
        assert self.real_image_embeddings.shape == self.generated_image_embeddings.shape, "Embeddings are not of the same size"
        print("Computed Embeddings\tReal Images Embedding Shape: {}\tGenerated Images Embedding Shape".format(
            self.real_image_embeddings.shape, 
            self.generated_image_embeddings.shape
        ))
    
    # method to produce evaluation results
    @tf.autograph.experimental.do_not_convert
    def evaluate(self):
        # calculate Frechet Inception Distance
        fid = self.__calculate_fid(self.real_image_embeddings, self.generated_image_embeddings)
        print('The computed FID score is:', fid)

        return fid

    # method to generate embeddings from inception model 
    def __compute_embeddings(self, dataloader, count):
        image_embeddings = []
        for _ in tqdm(range(count)):
            images = next(iter(dataloader))
            embeddings = self.INCEPTION.predict(images)
            image_embeddings.extend(embeddings)
        return np.array(image_embeddings)

    ## STATIC METHODS: these methods knows nothing about the class
    # static method to prepare the data before computing Inception Embeddings
    @staticmethod
    def __resize_and_preprocess(image):
        # image *= 255.0 # original image are scaled to [0, 1], scaling back to [0, 255]
        # image -= -1
        # image /= (1 - (-1))
        # image *= 255.
        image = tf.image.convert_image_dtype(image, dtype=tf.float32, saturate=True)
        # .preprocess_input() expects an image of scale [0, 255]
        image = preprocess_input(image)
        # inception model expects an image of shape (None, 299, 299, 3)
        image = tf.image.resize(image, (299, 299), method='nearest')
        return image

    # static method to calculate frechet inception distance based on embeddings
    @staticmethod 
    def __calculate_fid(real_embeddings, generated_embeddings):
        # calculate mean and covariance statistics
        mu1, sigma1 = real_embeddings.mean(axis=0), np.cov(real_embeddings, rowvar=False)
        mu2, sigma2 = generated_embeddings.mean(axis=0), np.cov(generated_embeddings, rowvar=False)
        # calculate sum squared difference between means
        ssdiff = np.sum((mu1 - mu2)**2.0)
        # calculate sqrt of product between cov
        covmean = sqrtm(sigma1.dot(sigma2))
        # check and correct imaginary numbers from sqrt
        if np.iscomplexobj(covmean):
            covmean = covmean.real
        # calculate score
        fid = ssdiff + np.trace(sigma1 + sigma2 - 2.0 * covmean)
        return fid
In [26]:
%%time
fid_class = GAN_FID(batch_size=512, latent_dim=128, sample_size=10000, buffer_size=1024)
fid_class.fit(generator=generator, train_data=x_test)
fid_score = fid_class.evaluate()
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/inception_v3/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5
87910968/87910968 [==============================] - 0s 0us/step
Computing Real Image Embeddings
  0%|          | 0/20 [00:00<?, ?it/s]
16/16 [==============================] - 2s 24ms/step
  5%|▌         | 1/20 [00:03<00:57,  3.03s/it]
16/16 [==============================] - 0s 24ms/step
 10%|█         | 2/20 [00:03<00:31,  1.74s/it]
16/16 [==============================] - 0s 24ms/step
 15%|█▌        | 3/20 [00:04<00:22,  1.33s/it]
16/16 [==============================] - 0s 24ms/step
 20%|██        | 4/20 [00:05<00:18,  1.14s/it]
16/16 [==============================] - 0s 24ms/step
 25%|██▌       | 5/20 [00:06<00:15,  1.03s/it]
16/16 [==============================] - 0s 25ms/step
 30%|███       | 6/20 [00:07<00:14,  1.02s/it]
16/16 [==============================] - 0s 25ms/step
 35%|███▌      | 7/20 [00:08<00:14,  1.11s/it]
16/16 [==============================] - 0s 24ms/step
 40%|████      | 8/20 [00:09<00:12,  1.02s/it]
16/16 [==============================] - 0s 24ms/step
 45%|████▌     | 9/20 [00:10<00:10,  1.03it/s]
16/16 [==============================] - 0s 24ms/step
 50%|█████     | 10/20 [00:11<00:09,  1.04it/s]
16/16 [==============================] - 0s 24ms/step
 55%|█████▌    | 11/20 [00:12<00:09,  1.06s/it]
16/16 [==============================] - 0s 24ms/step
 60%|██████    | 12/20 [00:13<00:07,  1.01it/s]
16/16 [==============================] - 0s 25ms/step
 65%|██████▌   | 13/20 [00:14<00:06,  1.06it/s]
16/16 [==============================] - 0s 24ms/step
 70%|███████   | 14/20 [00:15<00:05,  1.10it/s]
16/16 [==============================] - 0s 24ms/step
 75%|███████▌  | 15/20 [00:15<00:04,  1.13it/s]
16/16 [==============================] - 0s 24ms/step
 80%|████████  | 16/20 [00:16<00:03,  1.07it/s]
16/16 [==============================] - 0s 24ms/step
 85%|████████▌ | 17/20 [00:17<00:02,  1.11it/s]
16/16 [==============================] - 0s 25ms/step
 90%|█████████ | 18/20 [00:18<00:01,  1.13it/s]
16/16 [==============================] - 0s 24ms/step
 95%|█████████▌| 19/20 [00:19<00:00,  1.14it/s]
16/16 [==============================] - 0s 24ms/step
100%|██████████| 20/20 [00:20<00:00,  1.02s/it]
Computing Generated Image Embeddings
  0%|          | 0/20 [00:00<?, ?it/s]
16/16 [==============================] - 0s 24ms/step
  5%|▌         | 1/20 [00:00<00:17,  1.10it/s]
16/16 [==============================] - 0s 24ms/step
 10%|█         | 2/20 [00:01<00:15,  1.16it/s]
16/16 [==============================] - 0s 24ms/step
 15%|█▌        | 3/20 [00:02<00:14,  1.18it/s]
16/16 [==============================] - 0s 24ms/step
 20%|██        | 4/20 [00:03<00:13,  1.18it/s]
16/16 [==============================] - 0s 24ms/step
 25%|██▌       | 5/20 [00:04<00:12,  1.18it/s]
16/16 [==============================] - 0s 24ms/step
 30%|███       | 6/20 [00:05<00:12,  1.10it/s]
16/16 [==============================] - 0s 24ms/step
 35%|███▌      | 7/20 [00:06<00:11,  1.12it/s]
16/16 [==============================] - 0s 24ms/step
 40%|████      | 8/20 [00:06<00:10,  1.15it/s]
16/16 [==============================] - 0s 24ms/step
 45%|████▌     | 9/20 [00:07<00:09,  1.17it/s]
16/16 [==============================] - 0s 24ms/step
 50%|█████     | 10/20 [00:08<00:08,  1.18it/s]
16/16 [==============================] - 0s 24ms/step
 55%|█████▌    | 11/20 [00:09<00:08,  1.11it/s]
16/16 [==============================] - 0s 24ms/step
 60%|██████    | 12/20 [00:10<00:07,  1.13it/s]
16/16 [==============================] - 0s 25ms/step
 65%|██████▌   | 13/20 [00:11<00:06,  1.15it/s]
16/16 [==============================] - 0s 24ms/step
 70%|███████   | 14/20 [00:12<00:05,  1.16it/s]
16/16 [==============================] - 0s 24ms/step
 75%|███████▌  | 15/20 [00:13<00:04,  1.18it/s]
16/16 [==============================] - 0s 25ms/step
 80%|████████  | 16/20 [00:13<00:03,  1.17it/s]
16/16 [==============================] - 0s 24ms/step
 85%|████████▌ | 17/20 [00:14<00:02,  1.12it/s]
16/16 [==============================] - 0s 24ms/step
 90%|█████████ | 18/20 [00:15<00:01,  1.14it/s]
16/16 [==============================] - 0s 24ms/step
 95%|█████████▌| 19/20 [00:16<00:00,  1.14it/s]
16/16 [==============================] - 0s 24ms/step
100%|██████████| 20/20 [00:17<00:00,  1.15it/s]
Computed Embeddings	Real Images Embedding Shape: (10240, 2048)	Generated Images Embedding Shape

The computed FID score is: 2.479908285982625
CPU times: user 3min 16s, sys: 46.2 s, total: 4min 2s
Wall time: 48.8 s
In [30]:
tf.keras.models.save_model(generator, '/content/drive/MyDrive/Colab Notebooks/DELE_CA2/Models/CGAN/final_SNCGAN_MODEL.h5')
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.
In [31]:
gen = tf.keras.models.load_model('/content/drive/MyDrive/Colab Notebooks/DELE_CA2/Models/CGAN/final_SNCGAN_MODEL.h5')
WARNING:tensorflow:No training configuration found in the save file, so the model was *not* compiled. Compile it manually.
In [32]:
# Get the trained generator

num_classes = 10
fig, axs = plt.subplots(num_classes, 10, figsize=(10, num_classes))

for i in range(num_classes):
    class_label = keras.utils.to_categorical([i], num_classes)
    class_label = tf.cast(class_label, tf.float32)

    # Generate 10 random noise vectors
    random_noise = tf.random.normal(shape=(10, latent_dim))
    # Repeat the class label for each noise vector
    class_label = tf.repeat(class_label, repeats=10, axis=0)
    # Concatenate the noise and class label
    noise_and_label = tf.concat([random_noise, class_label], axis=1)
    # Run inference with the generator
    fake_images = gen(noise_and_label)

    fake_images -= -1
    fake_images /= (1 - -1)
    
    # Plot the generated images
    for j in range(10):
        axs[i, j].imshow(fake_images[j])
        axs[i, j].axis("off")

plt.show()

Images were significantly better¶

  • Look realistic
  • I can classify the images of the 10 classes with my own eyes
  • Can create labelled images which allows better justification of the image